博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件的输出与载入之java操作
阅读量:5310 次
发布时间:2019-06-14

本文共 2012 字,大约阅读时间需要 6 分钟。

一、前言

学习java没多久,关键是没怎么系统学过。都是看别人的代码来学习的。今天就把一直以来让我头痛的java  IO 的一些基本操作来记录下来,加深记忆。

二、java导入文件到内存中

首先放一个完整的加载函数(这里我的返回值是定义的一个稀疏矩阵类)

public SMatrix Load(String file, String delimeter){						Map
,Integer> triples = new HashMap
,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
s = new ArrayList
(); 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);//构造一个输出文件流
						fout.write("@RELATION\teigenVector\n".getBytes());//主要函数就是  write(args),里面的参数要求是byte[]型的。
for(int i = n-k;i
< m;i++){ for(int j = n-k;j
比如你想写一段文字:“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());
等等。

转载于:https://www.cnblogs.com/wenbaoli/p/5655751.html

你可能感兴趣的文章
【Java】 剑指offer(53-2) 0到n-1中缺失的数字
查看>>
Delphi中ListView类的用法
查看>>
多米诺骨牌
查看>>
Linq 学习(1) Group & Join--网摘
查看>>
asp.net 调用前台JS调用后台,后台掉前台JS
查看>>
Attribute(特性)与AOP
查看>>
苹果手表:大方向和谷歌一样,硬件分道扬镳
查看>>
Competing Consumers Pattern (竞争消费者模式)
查看>>
Android面试收集录15 Android Bitmap压缩策略
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>
ubuntu 安装后的配置
查看>>
【模板】对拍程序
查看>>
【转】redo与undo
查看>>
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
【NodeJS】http-server.cmd
查看>>