javatxt文件寫入
『壹』 java如何寫入txt文件
import java.io.*;
import java.util.*;
public class LogTest{
public static void main(String[] args)
{
File log=new File("user\\log\\login.log");
String newLog="UserName:Jim Green | Date:"+new Date()+" | IP:202.65.21.14";
appendLog(log,newLog);
}
public static void appendLog(File log,String newLog)
{
Scanner sc=null;
PrintWriter pw=null;
try{
if(!log.exists())//如果文件不存在,則新建.
{
File parentDir=new File(log.getParent());
if(!parentDir.exists())//如果所在目錄不存在,則新建.
parentDir.mkdirs();
log.createNewFile();
}
sc=new Scanner(log);
StringBuilder sb=new StringBuilder();
while(sc.hasNextLine())//先讀出舊文件內容,並暫存sb中;
{
sb.append(sc.nextLine());
sb.append("\r\n");//換行符作為間隔,掃描器讀不出來,因此要自己添加.
}
sc.close();
pw=new PrintWriter(new FileWriter(log),true);
/*A.*/pw.println(sb.toString());//,寫入舊文件內容.
/*B.*/pw.println(newLog);//寫入新日誌.
/*
* 如果先寫入A,最近日誌在文件最後.
* 如是先寫入B,最近日誌在文件最前.
*/
pw.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
}
『貳』 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
『叄』 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);
}
}
『肆』 JAVA 寫入TXT文件
在pw.write(s),後面加入pw.flush()即可。
在建立printWriter實例時(PrintWrite pw = new PrintWrite(fos,,true)),需要用boolean型指定,是不是自動刷新,如果沒有指定自動刷新,則需要自己來flush.
呵,呵,要講清楚啦。
樓主我只要50分額。
『伍』 java中讀出txt文件內容並更改怎麼寫入原txt文件
讀取所有內容,修改後用IO重新寫入一遍.
『陸』 java如何追加寫入txt文件
java追加寫入txt文件代碼及注釋參考如下:
publicvoidm(){
FileWriterff=null;
try{
//查看C盤是否有a.txt文件來判定是否創建
Filef=newFile("c:\a.txt");
ff=newFileWriter(f,true);//將位元組寫入文件末尾處,相當於追加信息。
}catch(IOExceptione){
e.printStackTrace();
}
PrintWriterp=newPrintWriter(ff);
p.println("這里就可以寫入要追加的內容了");//此處為追加內容
p.flush();
ff.try{
f.flush();
p.close();
ff.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
『柒』 如何用java寫入txt,每次運行都覆蓋前一次的內容(多行數據)
你把FileOutputStream out = new FileOutputStream(file, true);這里的true改為false或者不寫,
當有true修飾時代表當該文件已經存在時在文件後繼續寫
而當為false或預設時,若該文件名已經存在則會覆蓋原文件
『捌』 Java往TXT文件寫入文字的問題
代碼如下:
File file4 = new File("FileTextCopy2.java");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入內容:\n");
try {
String happyString ;
BufferedWriter writer = new BufferedWriter(FileWriter(file4));
while(!(happyString=in.readLine()).equalsIgnoreCase("exit")){
System.out.println("您輸入的內容是:\""+happyString+"\",正在存儲中");
writer.write(happyString+"\n");
writer.flush();
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
寫入文件的時候最好也用帶緩沖的方法,對提升程序效率有幫助。
如果希望馬上看到寫入的效果,就執行一下flush,強制將內容立即寫入文件
」修改建議
回答含有復制內容
咦?您的答案和別的答案長的太像了,簡直就是雙胞胎,其實….分享自己的原創知識才是件最有性格的事,快去修改自己的回答吧。「
。。。原來的答案是對的,新的代碼只是改進了緩沖寫入和調用flush的位置
『玖』 java怎樣向一個文件(如txt文件)中寫入一段數據,保存後下一次打開繼續使用
這個JDK的類庫都幫我們實現好了。如FileWriter類:
public FileWriter(File file,boolean append)
throws IOException根據給定的 File 對象構造一個 FileWriter 對象。如果第二個參數為 true,則將位元組寫入文件末尾處,而不是寫入文件開始處。
例子程序如下:
import java.io.File ;
import java.io.Writer ;
import java.io.FileWriter ;
public class WriterDemo02{
public static void main(String args[]) throws Exception}