本文目录一览:
- 1、java中读入和输出文本文件
- 2、java输入文件名,输出该文件的内容
- 3、java题目:编写一个程序使用java的输入,输出流技术将一个文本文件内容按行读出,,
- 4、Java中如何实现文件的输入输出?
- 5、一道java 文件输入输出 的编程题
- 6、java输入输出问题(回答完整的追加500分)
java中读入和输出文本文件
写文件
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
public class WriteFile {
public static void main(String[] args) {
File file = new File("F:" + File.separator + "abcd.txt");
try {
// 注意,这个地方,那个true的参数,代表如果这个文件已经存在了,就把新的内容添加到该文件的最后
// 如果你想重新创建新文件,把true改成false就好了
Writer writer = new OutputStreamWriter(new FileOutputStream(file, true), "GBK");
StringBuilder builder = new StringBuilder();
for (int i = 0; i 100; i++) {
int temp = (int) ((Math.random() + 1) * 1000);
builder.append(String.valueOf(temp));
builder.append("|");
temp = (int) ((Math.random() + 1) * 1000);
builder.append(String.valueOf(temp)).append("\n");
}
writer.write(builder.toString());
writer.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
读文件
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class ReadFile {
public static void main(String[] args) {
File file = new File("F:" + File.separator + "abcd.txt");
String s = "";
try {
InputStreamReader read = new InputStreamReader(new FileInputStream(file), "GBK");
BufferedReader reader = new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
s += line + "\n";
}
reader.close();
read.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(s);
}
}数据的格式:
java输入文件名,输出该文件的内容
java读取文件的内容,使用BufferedReader来读取,通过Scanner对象获取输入的文件名,来读取这个文件的内容并输出,具体示例代码如下:
public class txttest {
/**
* 读取txt文件的内容
* @param file 想要读取的文件对象
* @return 返回文件内容
*/
public static String txt2String(File file){
String result = "";
try{
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次读一行
result = result + "\n" +s;
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
return result;
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入文件名:");
String str = scan.next();
String mulu = "C:\\Users\\hp\\Desktop\\" + str + ".txt";//文件具体目录
File file = new File(mulu);
System.out.println(txt2String(file));
}
}
java题目:编写一个程序使用java的输入,输出流技术将一个文本文件内容按行读出,,
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
/**
*
* @author Felly
* @date 2008年12月29日16:16:12
*
*/
public class InOut {
//调试的时候文件和class文件在同目录,不然自己加绝对路径
public final static String inFile="in.txt";//被写文件
public final static String outFile="out.txt";//被读文件
public void readAndWrite(String in,String out) throws
FileNotFoundException,IOException {
File inFile=new File(in);
File outFile=new File(out);
BufferedReader reader=new BufferedReader(new FileReader(outFile));
PrintWriter pw=new PrintWriter(new FileWriter(inFile));
String line="";
int index=0;
while((line=reader.readLine())!=null)//循环到没有内容为止
{ index++;
line=index+line;//加上行号
pw.write(line);//写入一行
}
//close
pw.close();
reader.close();
}
}
Java中如何实现文件的输入输出?
程序如下:
span style="color:#990000;"
/spanFile file1 = new File("/home/a123/a");
if (file1.exists()) {
System.out.println("存在文件夹a");
} else {
file1.mkdir(); // 文件夹的创建 创建文件夹/home/a123/a
}
File file2 = new File("/home/a123/a/test");
if (file2.exists()) {
System.out.println("存在文件夹或者文件test");
} else {
try {
file2.createNewFile(); // 文件的创建,注意与文件夹创建的区别
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 最简单的文件读写方法是使用类FileWriter
* (它的父类依次是java.io.OutputStreamWriter——java.io.Writer——java.lang.Object );
*/
// 下面是向文件file2里面写数据
try {
FileWriter fileWriter = new FileWriter(file2);
String s = new String("This is a test! \n" + "aaaa");
fileWriter.write(s);
fileWriter.close(); // 关闭数据流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*
* 这样写数据的话,是完全更新文件test里面的内容,即把以前的东西全部删除,重新输入。
* 如果不想删除以前的数据,而是把新增加的内容增添在文件末尾处。只需要在创建FileWriter对象时候,使用另外一个构造函数即可:
* FileWriter fileWriter=new FileWriter(file2,true);
*/
// 下面是从文件file2读东西
try {
FileReader fileReader = new FileReader(file2);
String s = null;
char ch;
try {
char[] c = new char[100];
fileReader.read(c,0,2); // 具体想得到文件里面的什么值(单个char?int?还是String?),
System.out.println(c);
fileReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**
* 具体想得到文件里面的什么值(单个char?int?还是String?),需要知道不通read的不同用法:
* 1. int read() 读取单个字符。
* 2. int read(char[] cbuf) 将字符读入数组。 可以再将字符型数组转化位字符串
* 3. int read(char[] cbuf,int off,int len) 将字符读入数组的某一部分。
* 这三个方法都返回一个int值,作用是:读取的字符数,如果已到达流的末尾,则返回 -1.
*/
}
一道java 文件输入输出 的编程题
就是输入5个0 到100的数然后存入文件嘛。
代码如下:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
File file = new File("c:\\1.txt");
FileWriter fw = null;
int count = 0;
try {
fw = new FileWriter(file);
while(true){
System.out.print("输入第[ "+ (count + 1) +" ]个学生成绩(0~100): ");
int temp = sc.nextInt();
if(temp = 100 temp = 0){
count++;
fw.write(String.valueOf(temp));
fw.write("\r\n");
fw.flush();
}else{
System.out.println("输入的数不在范围之内,重新输入.");
continue;
}
if(count == 5){
System.out.println("输入结束.");
break;
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
if(fw != null){
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
程序运行结束后会在C盘生成1.txt 里面保存的5个学生的成绩:
java输入输出问题(回答完整的追加500分)
举一个例子吧:
利用文本编辑软件输入学生姓名、各课程的成绩,编程读取文件中的内容,计算每个同学的平均成绩,然后输出并保存包括平均成绩的成绩表。文件student内容:
0521020146 80 70 65 69 67
0521020147 90 70 65 92 56
0521020148 93 70 65 83 56
说明:
文本文件中的学生成绩可以逐行逐行处理
可以利用StringTokenizer抽取每行信息中的学号以及各课成绩,对于成绩需要使用Integer类的parseInt方法将字符串转换成整型量。或使用Integer类的intValue方法返回一个整型量。
使用两个文件进行输入与输出,如果要求将计算平均值后的内容存放到原来文件,一种简单的方法是利用File类删除student文件,然后将student1文件重命名为student文件,最后删除student1文件。
程序代码如下:
import java.io.*;
import java.util.*;
public class ch8ex7{
public static void main(String[]args){
try{
PrintWriter outputStream=new PrintWriter(new FileOutputStream("student1.txt"));
BufferedReader inputStream=new BufferedReader(new FileReader("student.txt"));
StringTokenizer t;
int score[]=new int[4];
int index;
int accumulateScore;
double average;
String line=inputStream.readLine();
while(line!=null){
t=new StringTokenizer(line);
String studentID=t.nextToken();
accumulateScore=0;
index=0;
while(t.hasMoreTokens()){
Integer sc=new Integer(t.nextToken());
score[index]=sc.intValue();
accumulateScore=accumulateScore+score[index];
index++;
}
average=accumulateScore/4.0;
String out;
out=studentID+" ";
for(index=0;index4;index++)
out=out+score[index]+" ";
out=out+average;
outputStream.println(out);
line=inputStream.readLine();
}
outputStream.close();
inputStream.close();
}catch(Exception e){
System.out.println(e.getMessage());