读取一个文本文档,例如有1~10行,要求按10~1行的顺序输出.并保存予原文件
2009-02-16 10:11
501 查看
Java代码
package test49;
//package com.color.io;
/*
* Main.java
*
* Created on 2000年9月29日, 下午5:17
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**
*
* @author admin
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
/**
* @param args
* the command line arguments
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
// 按文件大小来产生构建buffer
char[] buffer = new char[(int) new File("D://新建 文本文档.txt").length()];
Reader reader = null;
try {
reader = new FileReader("D://新建 文本文档.txt");
int offset;
while ((offset = reader.read(buffer)) > 0)
System.out.print(new String(buffer, 0, offset));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null)
try {
reader.close();
} catch (IOException e) {
}
}
// 将整个文件读入,然后构造成一个String
String s = new String(buffer);
// 将这个String按换行符拆分成String数组
String[] reverse = s.split("/r/n");
// 构造文件,原来那个文件
File file = new File("D://新建 文本文档.txt");
Writer writer = new FileWriter(file);
for (int i = reverse.length - 1; i >= 0; i--) {
// 反转写入
writer.write(reverse[i] + "/r/n");
}
writer.close();
}
}
或者
Java代码
package test49;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
public class TxtReverse {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileReader fr = new FileReader(new File("d://a.txt"));
BufferedReader br = new BufferedReader(fr);
ArrayList<String> al = new ArrayList<String>();
String line;
while ((line = br.readLine()) != null) {
al.add(line);
}
for (int i = al.size() - 1; i >= 0; i--) {
System.out.println(al.get(i));
}
}
}
package test49;
//package com.color.io;
/*
* Main.java
*
* Created on 2000年9月29日, 下午5:17
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**
*
* @author admin
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
/**
* @param args
* the command line arguments
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
// 按文件大小来产生构建buffer
char[] buffer = new char[(int) new File("D://新建 文本文档.txt").length()];
Reader reader = null;
try {
reader = new FileReader("D://新建 文本文档.txt");
int offset;
while ((offset = reader.read(buffer)) > 0)
System.out.print(new String(buffer, 0, offset));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null)
try {
reader.close();
} catch (IOException e) {
}
}
// 将整个文件读入,然后构造成一个String
String s = new String(buffer);
// 将这个String按换行符拆分成String数组
String[] reverse = s.split("/r/n");
// 构造文件,原来那个文件
File file = new File("D://新建 文本文档.txt");
Writer writer = new FileWriter(file);
for (int i = reverse.length - 1; i >= 0; i--) {
// 反转写入
writer.write(reverse[i] + "/r/n");
}
writer.close();
}
}
或者
Java代码
package test49;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
public class TxtReverse {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileReader fr = new FileReader(new File("d://a.txt"));
BufferedReader br = new BufferedReader(fr);
ArrayList<String> al = new ArrayList<String>();
String line;
while ((line = br.readLine()) != null) {
al.add(line);
}
for (int i = al.size() - 1; i >= 0; i--) {
System.out.println(al.get(i));
}
}
}
相关文章推荐
- 要求通过java读取文本并把文本中的每一行后面的三个成绩相加, 最后按从大到小的顺序输出到另一个文本文件中.
- 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
- 转载:读取一个文本文件并把文件中的文本保存在一个CString对象中,如何能做到
- 设一个长度为10的整型数组, 0)要求每个元素的值通过scanf输入,输入完成后, 1)请顺序输出这些整数, 2)请倒序输出这些整数, 3)输出这些数中的最大值, 4)输出这些数中的最小值
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(2,4,6,8,10,…),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值
- 3.2 设计一个程序,要求用户输入 5 个字符,然后将这 5 个字符按相反的顺序显示出 来。例如,假设输入 abcde,则输出为 edcba
- 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
- 【1】 设一个长度为10的整型数组,  0)要求每个元素的值通过scanf输入,输入完成后,  1)请顺序输出这些整数,  2)请倒序输出这些整数,  3)输出这些数中的最大值,最小值
- 从磁盘读取文本文档,用逗号隔开,但是要求双引号内的逗号不能隔开,放到ArrayList中输出
- 读取一个文件夹下所有的txt文件,并保存到一个txt文本中
- 有两个磁盘文件“A"和”B",各存放一行字母,先要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C"中去。
- 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出例如: a: 21 次 b: 15 次 c:: 15 次 把: 7 次 当: 9 次 前: 3 次
- 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并 (按字母顺序排列), 输出到一个新文件C中
- *(5)输入互不相同的一组整数,构造一棵二叉排序树,要求: ① 按递减有序的顺序输出; ② 输入一个整数,查找该整数是否在该二叉排序树中,查找成功返回1,否则返回0; ③ 在②中,若查找成功,则将该结
- 将List<Map<String,String>>中的数据输出保存到TXT文本文件中
- 从文件中读取学生成绩,进行等级划分,并输出至另外一个文件中
- [Java] Java序列化将一个对象的内容保存到文件和从文件读取对象
- 假设一个文本文件中保存着100个整数,请将这100个整数按从小到大的顺序写到另一个文件中
- Winform读取文档。然后创建,奇数行保存一个文档,偶数行保存一个文档