本文目錄一覽:
- 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());
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/200155.html