文件管理 · 2022年7月25日

java写到txt文件中|java写入字符串到txt文件

『壹』 用java写个关于写入txt文件的方法

写个配置文件 配置路径 读取配置文件 然后通过IO流 写入 写出

『贰』 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文件

我来帮楼主解决一下这个问题: 【问题叙述】 在使用writeUTF(String str)这个方法之前最好调用writeShort(int inv)方法将一个 short 值以 2-byte 值形式写入基础输出流中,先写入高字节的方式,避免丢失字符。 【代码演示】 import java.io.*; public class FileTest { public static void main(String [] args) { try { FileWriter fw = new FileWriter("b.txt"); File f = new File("b.txt"); int[] a = new int[]{1, 2, 3}; for (int i = 0; i < a.length; i++) { fw.write(String.valueOf(a[i])); } FileOutputStream os = new FileOutputStream(f); DataOutputStream out = new DataOutputStream(os); out.writeShort(2); out.writeUTF("uuxuxuing"); System.out.println(out); fw.flush(); fw.close(); System.out.println(fw); } catch (Exception e) { } } } 比如以上代码,楼主可以参考,运行后发现再不会丢失字符的情况出现。 【第二个问题】 关于第二个问题,你可以这么简单理解,产生问题的出现是因为过早关闭了fw,你可以这样改一下程序,就可以分析出缘由: import java.io.*; public class FileTest { public static void main(String [] args) { try { FileWriter fw = new FileWriter("b.txt"); File f = new File("c.txt"); //这里修改 int[] a = new int[]{1, 2, 3}; for (int i = 0; i < a.length; i++) { fw.write(String.valueOf(a[i])); } fw.flush();//放到前面了 fw.close(); FileOutputStream os = new FileOutputStream(f); DataOutputStream out = new DataOutputStream(os); out.writeShort(2); out.writeUTF("uuxuxuing"); System.out.println(out); System.out.println(fw); } catch (Exception e) { } } } 你会发现b.txt中完整输出了123,而在c.txt中没有完整输出123,只是输出了字符串,可以看出,在FileWrite方法成功执行输出了123,而他正准备输出后面的字符串之前被关闭了,所以他只输出了123,而File通过输出流成功输出了字符串(在关闭FileWrite之后),但是他并不知道关闭之前的FileWrite干了哪些事情,所以他的输出只能是乱码(因为关闭了,所以他不知道FileWrite干了哪些事) 【建议】如果要往文件里写些东西的话,这样做比较整齐也简单一点: import java.io.*; class ReaderTest { public static void main(String [] args)throws Exception { FileOutputStream fos=new FileOutputStream("a.txt"); OutputStreamWriter osw=new OutputStreamWriter(fos); BufferedWriter bw=new BufferedWriter(osw); bw.write("您好!"); bw.close(); FileInputStream fis=new FileInputStream("a.txt"); InputStreamReader isr=new InputStreamReader(fis); BufferedReader br=new BufferedReader(isr); System.out.println(br.readLine()); br.close(); } } 说明:为了简便,我用throws代替了try…catch,并不是没有异常,这段代码是正确的,楼主可以运行看下效果。 希望我的回答能对楼主有所帮助!

『肆』 java 如何将两个txt文件内容写入到一个txt文件中

importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassDemo001{publicstaticvoidwriteFile(StringstrSrc,Stringdest){FileWriterwriter=null;FileReaderreader=null;BufferedReaderbr=null;BufferedWriterbw=null;try{Filefile=newFile(dest);if(!file.exists()){file.createNewFile();}//这里的true,是以追加的方式写writer=newFileWriter(dest,true);reader=newFileReader(strSrc);Stringstr=null;br=newBufferedReader(reader);bw=newBufferedWriter(writer);while((str=br.readLine())!=null){StringBuffersb=newStringBuffer("");sb.append(str+"
");bw.write(sb.toString());}br.close();reader.close();bw.close();writer.close();}catch(IOExceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args){Demo001.writeFile("D:/1.txt","D:/3.txt");Demo001.writeFile("D:/2.txt","D:/3.txt");}}

『伍』 Java中怎么将字符串按行写入到txt文件中

java写入文本文件的方法很多,比如FileWriter

FileWriterfw=newFileWriter("D:/Test.txt");Strings="helloworld
";fw.write(s,0,s.length());s="helloworld2
";fw.write(s,0,s.length());fw.flush();

这样就写了两行了。其中斜线n是换行符

『陆』 java关于向TXT文件写入内容的问题

双引号""是成对出现的,两个引号之间的是字符串,你的那个writer.write("ABC=“123”BBB"), “ABC=” 是一个字符串,“BBB是另一个”,中间的123没有引号包裹起来肯定报错,而且两个字符串之间需要加号+连接,不能直接写。

『柒』 Java中,怎样把一段文字写入一个文本文件中

参考下面代码,把“网络知道”写到D盘的写入文字.txt中

importjava.io.*;publicclassC{publicstaticvoidmain(String[]args)throwsException{PrintWriterpw=newPrintWriter(newFileWriter("D:\写入文字.txt"));pw.print("网络知道");pw.close();}}

『捌』 java如何追加写入txt文件

java中,对文件进行追加内容操作的三种方法!

importjava.io.BufferedWriter;importjava.io.FileOutputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.OutputStreamWriter;importjava.io.PrintWriter;importjava.io.RandomAccessFile;//如果文件存在,则追加内容;如果文件不存在,则创建文件,追加内容的三种方法{@SuppressWarnings("static-access")publicstaticvoidmain(String[]args){AppendContentToFilea=newAppendContentToFile();a.method1();a.method2("E:\dd.txt","222222222222222");a.method3("E:\dd.txt","33333333333");}

方法1:

publicvoidmethod1(){FileWriterfw=null;try{//如果文件存在,则追加内容;如果文件不存在,则创建文件Filef=newFile("E:\dd.txt");fw=newFileWriter(f,true);}catch(IOExceptione){e.printStackTrace();}PrintWriterpw=newPrintWriter(fw);pw.println("追加内容");pw.flush();try{fw.flush();pw.close();fw.close();}catch(IOExceptione){e.printStackTrace();}}

方法2:

publicstaticvoidmethod2(Stringfile,Stringconent){BufferedWriterout=null;try{out=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(file,true)));out.write(conent+"
");}catch(Exceptione){e.printStackTrace();}finally{try{out.close();}catch(IOExceptione){e.printStackTrace();}}}

方法3:

publicstaticvoidmethod3(StringfileName,Stringcontent){try{//打开一个随机访问文件流,按读写方式RandomAccessFilerandomFile=newRandomAccessFile(fileName,"rw");//文件长度,字节数longfileLength=randomFile.length();//将写文件指针移到文件尾。randomFile.seek(fileLength);randomFile.writeBytes(content+"
");randomFile.close();}catch(IOExceptione){e.printStackTrace();}}}

『玖』 java 写txt文件

import java.io.*;public class Test { public static void main(String[] args){ String s = new String(); String s1 = new String(); try { File f = new File("E:\\123.txt"); if(f.exists()){ System.out.print("文件存在"); }else{ System.out.print("文件不存在"); f.createNewFile();//不存在则创建 } BufferedReader input = new BufferedReader(new FileReader(f)); while((s = input.readLine())!=null){ s1 += s+"\n"; } System.out.println(s1); input.close(); s1 += "添加的内容!";BufferedWriter output = new BufferedWriter(new FileWriter(f)); output.write(s1); output.close(); } catch (Exception e) { e.printStackTrace(); } } }