導航:首頁 > 編程語言 > java行寫文件

java行寫文件

發布時間:2024-04-01 21:03:04

A. java讀取、修改、寫入txt文件

模擬:先創建一個TXT文件(內容來自控制台);然後讀取文件並在控制台輸出;最後實現對新創建的TXT文件(的數據進行排序後)的復制。分別對應三個函數,調用順序需要注意:創建、讀取、復制。

效果圖如下:綠色部分為控制台輸入的內容(當輸入end時,結束)

packagecom.;

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.util.Arrays;
importjava.util.Scanner;
importjava.util.Vector;

publicclassCreateAndReadTxt{
//文件名稱
publicstaticStringfileName=".txt";
publicstaticStringnewFileName=".txt";
//文件路徑
publicfinalstaticStringURL=System.getProperty("user.dir");

//CreateAndReadTxt.class.getResource("/").getPath();

//創建TXT文件
publicstaticvoidcreateTxtFile(StringfName,StringfileContent){
//創建文件
fileName=fName+fileName;
Filefile=newFile(fileName);
//可以更改
file.setWritable(true);
//判斷當前路徑下是否存在同名文件
booleanisExist=file.exists();
if(isExist){
//文件存在,刪除
file.delete();
}
//寫入文件
try{
//文件寫入對象
FileOutputStreamfos=newFileOutputStream(file);
//輸入流寫入----默認字元為GBK
OutputStreamWriterosw=newOutputStreamWriter(fos);
//寫入
osw.write(fileContent);
//寫入完畢後關閉
osw.close();
System.out.println("成功創建文件: "+fileName);
}catch(IOExceptione){
System.out.println("寫入文件失敗: "+e.getMessage());
}
}

//閱讀文件
publicstaticvoidreadFile(StringfileName){
System.out.println("開始讀取文件: "+fileName);
//產生文件對象
Filefile=newFile(fileName);
//
try{
//字元讀取
FileReaderfr=newFileReader(file);
//緩沖處理
BufferedReaderbr=newBufferedReader(fr);
Stringstr="";
while((str=br.readLine())!=null){
System.out.println(str);
}
//關閉
br.close();
fr.close();
}catch(FileNotFoundExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}catch(IOExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}
}
//文件復制
publicstaticvoidFile(StringfromFileName,StringtoFileName){
//讀取文件
Filefile=newFile(fromFileName);
try{
FileReaderfr=newFileReader(file);
BufferedReaderbr=newBufferedReader(fr);
//定義接收變數
Vector<Double>vec=newVector<Double>();
Strings="";
while(null!=(s=br.readLine())){
vec.add(Double.parseDouble(s));
}
br.close();
fr.close();
//保存到數組並進行排序
Doubledou[]=newDouble[vec.size()];
vec.toArray(dou);
Arrays.sort(dou);
System.out.println("========復制文件=========");
//寫入新文件
newFileName="副本"+newFileName;
FilenewFile=newFile(toFileName);
FileOutputStreamfos=newFileOutputStream(newFile,true);
OutputStreamWriterosm=newOutputStreamWriter(fos);
for(Doubled:dou){
osm.write(d.doubleValue()+" ");
}
osm.close();
fos.close();
}catch(FileNotFoundExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}catch(IOExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}

}
publicstaticvoidmain(String[]args){
/**
*構造數據
*/
Scannerscan=newScanner(System.in);
StringBuildersb=newStringBuilder();
Strings="";
while(!("end".equals(s=scan.next()))){//當輸入end時,結束
sb.append(s);
sb.append(" ");
}
scan.close();
/**
*使用數據
*/
CreateAndReadTxt.createTxtFile("creat",sb.toString());
CreateAndReadTxt.readFile(fileName);
System.out.println(fileName);
CreateAndReadTxt.File(fileName,newFileName);
CreateAndReadTxt.readFile(newFileName);
}

}

B. 關於Java中向文件寫入數據的問題

可以使用java中的FileWriter類向文件中寫入數據。很簡單。代碼例子如下:

importjava.io.FileWriter;
importjava.io.IOException;

publicclassFilewriter{

privatestaticfinalStringLINE_SEPARATOR=System.getProperty("line.separator");

/**
*
*@paramargs
*@throwsIOException
*/
publicstaticvoidmain(String[]args)throwsIOException{
/**
*創建一個可以往文件中寫入字元數據的字元流輸出流對象
*創建時必須明確文件的目的地
*如果文件不存在,這回自動創建。如果文件存在,則會覆蓋。
*當路徑錯誤時會拋異常
*
*當在創建時加入true參數,回實現對文件的續寫。
*/
FileWriterfw=newFileWriter("C:\demo1.txt",false);
/**
*調用該對象的write方法,向文件寫入字元。
*
*其實寫入到了臨時存儲緩沖區中
*/
fw.write("hello world!");//windows中的換行為 unix下為 。
fw.write("hahaha");
/**
*進行刷新,將字元寫到目的地中。
*/
//fw.flush();
/**
*關閉流,關閉資源。在關閉前會調用flush方法刷新緩沖區。關閉後在寫的話,會拋IOException
*/
fw.close();


}

}

C. 用JAVA向文件寫入內容時如何實現換行

java輸出到txt的時候增加換行符的方法如下:

package com.anjoyo.test;
import java.io.FileWriter;
import java.io.IOException;
public class TestFileWriter {
public static void main(String[] args) throws IOException{

//\r\n為換行符
FileWriter fw = new FileWriter("D:\\1.txt");
//寫入第一行換行

fw.write("第一行\r\n");
//或者獲得系統換行符
String str = "第二行" + System.getProperty("line.separator");
fw.write(str);
fw.write("第三行");
fw.close();
/*
* windows下的文本文件換行符:\r\n linux/unix下的文本文件換行符:\r
* Mac下的文本文件換行符:\n
*/
}
}

D. 如何用java寫入txt,每次運行都覆蓋前一次的內容(多行數據)

Java使用FileWriter實現文件的寫入,用法為:FileWriter(file,true); 其中第二個參數設置成false就是覆蓋寫入,true就是增量存儲。舉例代碼:

importjava.io.File;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassFile01Demo{
publicstaticvoidmain(String[]args)throwsIOException{
Filefile=newFile("D:\a.txt");
FileWriterfw=newFileWriter(file,true);//設置成true就是追加
fw.write("asd");
fw.write(" ");
fw.write("ffd");
fw.close();
}
}

E. java代碼 如何向TXT文件寫入內容

向txt文件寫入內容基本思路就是獲得一個file對象,新建一個txt文件,打開I/O操作流,使用寫入方法進行讀寫內容,示例如下:

packagecommon;

importjava.io.*;

importjava.util.ArrayList;

publicclassIOTest{

publicstaticvoidmain(Stringargs[]){

ReadDate();

WriteDate();

}

/**

*讀取數據

*/

publicstaticvoidReadDate(){

Stringurl=「e:/2.txt」;

try{

FileReaderread=newFileReader(newFile(url));

StringBuffersb=newStringBuffer();

charch[]=newchar[1024];

intd=read.read(ch);

while(d!=-1){

Stringstr=newString(ch,0,d);

sb.append(str);

d=read.read(ch);

}

System.out.print(sb.toString());

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}

}

/**

*寫入數據

*/

publicstaticvoidWriteDate(){

try{

Filefile=newFile(「D:/abc.txt」);

if(file.exists()){

file.delete();

}

file.createNewFile();

BufferedWriteroutput=newBufferedWriter(newFileWriter(file));

ArrayListResolveList=newArrayList();

for(inti=0;i<10;i++){

ResolveList.add(Math.random()*100);

}

for(inti=0;i

output.write(String.valueOf(ResolveList.get(i))+「 」);

}

output.close();

}catch(Exceptionex){

System.out.println(ex);

}

}

}

原文出自【比特網】,轉載請保留原文鏈接:http://soft.chinabyte.com/database/303/12439303.shtml

F. java鎬庝箞鍐欏叆鏂囦歡鎬庝箞鎹㈣

鎹㈣岀殑鏃跺欑敤\r\n灝變笉浼氭樉紺洪粦鍧楀効浜嗐

G. java 如何向txt文件制定行寫入內容

給思路吧,寫代碼比較麻煩
其實就是把文件都按行讀入,再寫入到另一個臨時文件,到第七行的時候,先插入要插入的行,然後再將讀出來的第七行寫入,如果是替換,則直接替換即可,最後用臨時文件覆蓋原文件即可

H. java寫入txt文件 想要修改txt文件每一行的第一個數字 加一就好

java實現向txt每行增加一位數字,思路是這樣的:使用I/O操作每次讀取一行文字,使用string增加一個數字一,保存在緩存另一個list裡面,後接一個換行符,等到全部讀取完畢,在讀取list的內容,寫入txt文件裡面,示例如下:

packagecom.zeal.card;//這里是我自己臨時用的包名,你自己改一下就好了

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStreamReader;

publicclassDemo{

/**
*主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
printData();
}

/**
*讀取txt文檔第一行數據中的第3位到第9位,並輸出到控制台
*/
publicstaticvoidprintData(){

//定義文本文件數組,這里是臨時演示用,請自己改寫
String[]txtFiles={
"c:/a.txt",
"c:/b.txt",
"c:/c.txt",
};

//遍歷文件
for(inti=0;i<txtFiles.length;i++){
try{
//得到文件
Filefile=newFile(txtFiles[i]);
//如果文件存在
if(file.exists()){
//建立緩沖包裝器
BufferedReaderin=null;
in=newBufferedReader(newInputStreamReader(newFileInputStream(file)));
//讀出一行(因為只是讀一行,沒必要遍歷全部文件內容)
Stringtemp=in.readLine();
//如果不為空,並且長度至少為9
if(temp!=null){

Stringtxt="一"+temp;//每行前面增加一個數字一。
System.out.println("取出數據:"+txt);
Listli=newArrayList();
Listli=newArrayList();
li.add(temp);
}
}
BufferedWriterin=null;
in=newBufferedWriter(newInputStreamWriter(newFileOutputStream(file)));
}
}catch(Exceptione){
e.printStackTrace();
}
}
}

}
閱讀全文

與java行寫文件相關的資料

熱點內容
vue編譯成js文件 瀏覽:88
給單片機供電的電池 瀏覽:339
什麼app是分享教育的 瀏覽:896
可視化編程java 瀏覽:83
人工智慧溫控器演算法 瀏覽:376
大號文件夾多少錢一個 瀏覽:572
pdf閱讀器打開文件 瀏覽:98
winrar解壓日文文件 瀏覽:38
什麼app可以看廣東珠江電視台 瀏覽:75
linux移動文件位置 瀏覽:144
循環碼與卷積碼編譯原理 瀏覽:807
進化演算法和啟發式演算法的區別 瀏覽:602
android組件是什麼 瀏覽:973
安卓手機微信怎麼同步信息 瀏覽:182
小人pdf 瀏覽:806
我的世界伺服器怎麼造好看的建築 瀏覽:307
兄弟連培訓php多少錢 瀏覽:250
1523鋪地面的演算法 瀏覽:747
linux源碼安裝php環境 瀏覽:822
ping命令用法 瀏覽:718