永发信息网

java 的文件保存和读取问题?

答案:6  悬赏:30  手机版
解决时间 2021-03-31 08:06
java 的文件保存和读取问题?
最佳答案
可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到每行的内容,之后通过OutputStreamWriter进行文件写入。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
pw.write(str );//将要写入文件的内容,写入到新文件
};
pw.close();//关闭流
bre .close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
全部回答
额,看不懂!
用数据流....
你可以输入的值都保存到一个string里,然后一起写到文件里就行了。
你可以看一下java文件操作.
至于保存的时候,你可以全部保存成字符串用符号把他们分割开,读的时候在把他们分开,转换成整数就行了撒。
package org.info.demo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestFile {
public static void main(String[] args) {
String file = "C:\\Test.txt";
String str = "";
FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
BufferedWriter bw = null;
try {
// 接收键盘输入,这是以输入的分隔为一个空格作的,其它的自己考虑
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
str = buf.readLine();
System.out.println("-------------------------------------");
System.out.println("键盘输入:" + str);
System.out.println("-------------------------------------");
// 将键盘输入作成以逗号分隔的字符串保存
String[] s = str.split(" ");
str = "";
for (int i = 0; i < s.length; i++) {
str += s[i] + ",";
}
str = str.substring(0, str.length() - 1);
fw = new FileWriter(file);
bw = new BufferedWriter(fw);
bw.write(str);
// 读取文件中的字符串
fr = new FileReader(file);
br = new BufferedReader(fr);
while (br.ready()) {
str = br.readLine();
}
s = str.split(",");
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
try {
if (bw != null) {
bw.close();
}
if (fw != null) {
fw.close();
}
if (fr != null) {
fr.close();
}
if (br != null) {
br.close();
}
} catch (IOException ioe) {
System.out.println(ioe.getMessage());
}
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
把二元一次方程3x+y-1=0改写成用含x的式子表
传真机为什么收传真时,会多带出来一张空白纸?
风吹草动对什么???蚍蜉撼树对什么???
GTA5小富女友莉兹怎么找,每天下午3点没接到
两米比135厘米如何化简
给动物饮相同量的清水,与对照组动物相比,一
马蓉再次发文力挺李小璐说了什么?
生活总会有个未来 就像四季更迭永远有春天一
前女友死了!2011年10月份在苏州坠楼死的!原
射雕英雄传阅读报告500字左右
银行卡乙未羊年纪念卡
这是oppor9的手机壳挂绳,可是怎么穿啊
中国电信已开通国际漫游的国家和地区有哪些
请问什么类型的公司不用每月都纳税
读“美国部分地区轮廓图”,回答题:上图中a、b
推荐资讯
YY硕:小米无人机比大疆无人机有什么区别
请问出嫁女儿本来在村里得到田和地,现在父母
纵有荣华好时节,直须候犬换金鸡。河渠傍路有
作文《勿以外表评价值》
烧香请愿最多请多少次?
羊皮水囊为什么不漏水
斗战胜佛出自哪部西游记
xy苹果助手可以刷机。刷回7版本。
361度的"外底材料: 3DIP+RB"是什么,好吗?
大家好!请问我住在马陆镇要坐几路车能到嘉定
歌词中间的说唱部分为一帆风顺两全其美三阳开
lim(x趋于-2)3x²-5x+2
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?