永发信息网

在Java中如何将字符串存储到文件中然后写入到桌面上?谢谢了 真的急需

答案:2  悬赏:10  手机版
解决时间 2021-03-11 02:20
  • 提问者网友:容嬷嬷拿针来
  • 2021-03-10 14:47
在Java中如何将字符串存储到文件中然后写入到桌面上?谢谢了 真的急需
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-03-10 15:38
FileOutputStream out=FileOutputStream(new File("文件路劲"));
String str="你的字符串";
out.write(str.getBytes());
out.close();
全部回答
  • 1楼网友:迟山
  • 2021-03-10 16:38
我来帮楼主解决一下这个问题: 【问题叙述】 在使用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,并不是没有异常,这段代码是正确的,楼主可以运行看下效果。 希望我的回答能对楼主有所帮助!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯