文件的输出与载入之java操作
来源:互联网 发布:青蛙跳台阶java 编辑:程序博客网 时间:2024/06/06 07:51
一、前言
学习java没多久,关键是没怎么系统学过。都是看别人的代码来学习的。今天就把一直以来让我头痛的java IO 的一些基本操作来记录下来,加深记忆。
二、java导入文件到内存中
首先放一个完整的加载函数(这里我的返回值是定义的一个稀疏矩阵类)
</pre><p><pre name="code" class="java">public SMatrix Load(String file, String delimeter){Map<ArrayList<Integer>,Integer> triples = new HashMap<ArrayList<Integer>,Integer>();try{File f = new File(file);FileReader fr = new FileReader(f);BufferedReader br = new BufferedReader(fr);String line;while((line = br.readLine()) != null){String[] str = line.trim().split(delimeter);ArrayList<Integer> s = new ArrayList<Integer>();for(int i = 0;i < str.length - 1; i++){s.add(Integer.parseInt(str[i]));}triples.put(s, Integer.parseInt(str[str.length - 1]));}br.close();fr.close();}catch(IOException e){e.printStackTrace();}SMatrix sm = new SMatrix(triples);return sm;}
解析:所以基本的步骤是:
try{File f = new File(file);//Step1:利用文件的路径file,创建文件类FileReader fr = new FileReader(f);//Step2:创建文件读入类BufferedReader br = new BufferedReader(fr);//Step3:创建读入的缓存类String line;while((line = br.readLine()) != null){//循环读入文件的每一行String[] str = line.trim().split(delimeter);//将每一行按字符串delimeter分割成一个字符串数组XXXXXXXXX;//TODO:接下来就将得到的字符串数组按照你构造的对象来赋值等等。这里面要注意字符串到整型或Double的转化等。}br.close();//关闭缓存读入fr.close();//关闭文件读入}catch(IOException e){e.printStackTrace();}
三、java将数据从内存输出到硬盘文件中
定义输出文件路径:例如,String of = "D:/data/blablabal.txt";
String outFile = "data/eigenVector.txt";try{File f = new File(outFile);//构造输出文件类FileOutputStream fout = new FileOutputStream(f);//构造一个输出文件流
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"></span>fout.write("@RELATION\teigenVector\n".getBytes());//主要函数就是 write(args),里面的参数要求是byte[]型的。</span>
for(int i = n-k;i<n;i++){fout.write(("@ATTRIBUTE\t"+i + "\tREAL\n").getBytes());}fout.write("@DATA\n".getBytes());if(k <= n){for(int i = 0;i < m;i++){for(int j = n-k;j<n;j++){Double temp = new Double(eigVector.getArray()[i][j]);String tem = temp.toString();fout.write((tem + "\t").getBytes());}fout.write(("\n").getBytes());}}}catch(IOException e){e.printStackTrace();}
比如你想写一段文字:“I am a student,and I come from China”
fout.write(("I am a student,and I come from China").getBytes());
相应的输出一个table键为:
fout.write(("\t").getBytes());
输出换行:
fout.write(("\n").getBytes());
</pre><pre name="code" class="java">等等。
0 0
- 文件的输出与载入之java操作
- 初学Opencv 之 (二)图像的载入 显示与输出
- java的文件的载入(重)
- java 输出流的操作与介绍
- opencv学习(1)图像的载入、显示与输出
- OpenCV 图像的载入,显示,初级图像混合与输出
- OpenCV之三 图像的载入,显示和输出
- java 操作文件之文件的删除
- PHP之include载入文件
- Opencv3.0载入显示与输出
- php smarty外部文件的载入之二
- java项目载入属性文件
- Java中的流与文件:文本的输入与输出
- python之cv2与图像的载入、显示和保存
- php之文件与目录的操作
- java IO操作与字节流(三)文件输入流与输出流
- 【Java】打印流与缓冲区读者完成输入与输出到文件操作
- gif高质量动画输出的技巧?【PS CS3用“将文件载入堆栈”】
- CUDA 中 FFT 的使用
- swift添加pod
- Future和FutureTask
- BaiduMap---百度地图官方Demo之热力图功能(介绍如何以热力图形式显示用户自有数据)
- MFC Grid control
- 文件的输出与载入之java操作
- ns3,路由选择
- SVM入门(七)为何需要核函数
- Dart基础-类
- 个人杂集
- log4j和commons-logging搭配使用
- [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- 关联容器,集合set和映射map
- 使用springMVC的详细步骤