您的位置:

java第九章输入输出文件练习,Java文件输入输出

本文目录一览:

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());