java輸入文件
A. java如何使用文件字元輸入流FileReader
文件字元輸入流與文件位元組輸入流的功能相似,但是傳送數據的方式不一樣,位元組流以位元組為單位傳送數據,可以使文本、視頻、音頻、圖片等。字元流以字元為單位傳送數據,只能傳送文本類型的數據。
創建字元輸入流常用的構造方法:
語法1:
- new FileReader(File file);12
語法2:
- new FileReader(String path);
B. java鍵盤輸入文件名,顯示出該文件的內容
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.util.Scanner;
publicclassSnippet
{
publicstaticvoidmain(String[]args)throwsIOException
{
Scannerin=newScanner(System.in);
System.out.print("輸入查詢信息:");
Stringstr=in.nextLine();
try
{
Stringencoding="GBK";
Filefile=newFile("E:\"+str+".txt");
if(file.isFile()&&file.exists())
{
InputStreamReaderread=newInputStreamReader(newFileInputStream(file),encoding);
BufferedReaderbufferedReader=newBufferedReader(read);
StringlineTXT=null;
while((lineTXT=bufferedReader.readLine())!=null)
{
System.out.println(lineTXT.toString().trim());
}
read.close();
}else
{
System.out.println("找不到指定的文件!");
}
}catch(Exceptione)
{
System.out.println("讀取文件內容操作出錯");
e.printStackTrace();
}
}
}
你的問題是出在「File file = new File("E:\" + str + ".txt");」的時候你沒有把str變數的這個值放進去,二十指定了一個固定位置的文件,所以手動輸入的沒效果!
希望可以幫助到你,望採納,謝謝,有問題可以追問我哈
C. java實現文件的輸入輸出的重要性是什麼
輸入和輸出功能是Java對程序處理數據能力的提高,Java以流的形式處理數據。流是一組有序的數據序列,根據操作的類型,分為輸入流和輸出流。
程序從輸入流讀取數據,向輸出流寫入數據。Java是面向對象的程序語言,每一個數據流都是一個對象,它們提供了各種支持「讀入」與「寫入」操作的流類。
D. Java中如何實現文件的輸入和輸出
程序如下:
<span style="color:#990000;">
</span>File 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.
*/
}
E. Java中如何實現文件的輸入輸出
程序如下:
<span style="color:#990000;">
</span>File 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.
*/
}
F. java怎麼讀入文件,並逐行輸出
java讀入文件,並逐行輸出,先在D://home建立個文件夾,然後創建一個a.txt文件,然後編輯文件,文本編輯的編碼是utf-8,然後用流逐行讀取輸出,如下:
importjava.io.BufferedInputStream;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStream;
importjava.io.InputStreamReader;
publicclassTestC{
publicstaticvoidmain(String[]args){
//獲取要讀取的文件
FilereadFile=newFile("D://home/a.txt");
//輸入IO流聲明
InputStreamin=null;
InputStreamReaderir=null;
BufferedReaderbr=null;
try{
//用流讀取文件
in=newBufferedInputStream(newFileInputStream(readFile));
//如果你文件已utf-8編碼的就按這個編碼來讀取,不然又中文會讀取到亂碼
ir=newInputStreamReader(in,"utf-8");
//字元輸入流中讀取文本,這樣可以一行一行讀取
br= newBufferedReader(ir);
Stringline="";
//一行一行讀取
while((line=br.readLine())!=null){
System.out.println(line);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
//一定要關閉流,倒序關閉
try{
if(br!=null){
br.close();
}
if(ir!=null){
ir.close();
}
if(in!=null){
in.close();
}
}catch(Exceptione2){
}
}
}
}
結果:
helloworld
您好
123456
G. 怎樣使用java將其輸入到txt文件中
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.PrintStream;
importjava.io.PrintWriter;
importjava.io.RandomAccessFile;
publicclassWriteStringToTxt{
publicvoidWriteStringToFile(StringfilePath){
try{
Filefile=newFile(filePath);
PrintStreamps=newPrintStream(newFileOutputStream(file));
ps.println("http://www.jb51.net");//往文件里寫入字元串
ps.append("http://www.jb51.net");//在已有的基礎上添加字元串
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicvoidWriteStringToFile2(StringfilePath){
try{
FileWriterfw=newFileWriter(filePath,true);
BufferedWriterbw=newBufferedWriter(fw);
bw.append("在已有的基礎上添加字元串");
bw.write("abc ");//往已有的文件上添加字元串
bw.write("def ");
bw.write("hijk");
bw.close();
fw.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicvoidWriteStringToFile3(StringfilePath){
try{
PrintWriterpw=newPrintWriter(newFileWriter(filePath));
pw.println("abc");
pw.println("def");
pw.println("hef");
pw.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicvoidWriteStringToFile4(StringfilePath){
try{
RandomAccessFilerf=newRandomAccessFile(filePath,"rw");
rf.writeBytes("op ");
rf.writeBytes("app ");
rf.writeBytes("hijklllll");
rf.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicvoidWriteStringToFile5(StringfilePath){
try{
FileOutputStreamfos=newFileOutputStream(filePath);
Strings="http://www.jb51.netl";
fos.write(s.getBytes());
fos.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
StringfilePath="E:\link.txt";
//newWriteStringToTxt().WriteStringToFile(filePath);
//newWriteStringToTxt().WriteStringToFile2(filePath);
//newWriteStringToTxt().WriteStringToFile3(filePath);
//newWriteStringToTxt().WriteStringToFile4(filePath);
newWriteStringToTxt().WriteStringToFile5(filePath);
}
}
H. java實現文件的輸入輸出的主要使用的類是什麼
ava的輸入輸出功能來自java.io 包中的InputStream類、OutputStream類、Reader類和Writer類以及繼承它們的各種子類。
I. java中如何實現用鍵盤輸入內容到文件
step1:新建一個演示類demo
運行結果1:
please input 「學生姓名」
李小明
please input 「科目名稱」
數學
please input「科目成績」
98
學生個人信息
姓名:李小明
科目:數學
成績:98.0
等級:A+
運行結果2:
please input 「學生姓名」
王強
please input 「科目名稱」
英語
please input「科目成績」
52
學生個人信息
姓名:王強
科目:英語
成績:52.0
等級:D
J. java輸入文件名,輸出該文件的內容
java讀取文件的內容,使用BufferedReader來讀取,通過Scanner對象獲取輸入的文件名,來讀取這個文件的內容並輸出,具體示例代碼如下:
publicclasstxttest{
/**
*讀取txt文件的內容
*@paramfile想要讀取的文件對象
*@return返迴文件內容
*/
publicstaticStringtxt2String(Filefile){
Stringresult="";
try{
BufferedReaderbr=newBufferedReader(newFileReader(file));//構造一個BufferedReader類來讀取文件
Strings=null;
while((s=br.readLine())!=null){//使用readLine方法,一次讀一行
result=result+" "+s;
}
br.close();
}catch(Exceptione){
e.printStackTrace();
}
returnresult;
}
publicstaticvoidmain(String[]args){
Scannerscan=newScanner(System.in);
System.out.println("請輸入文件名:");
Stringstr=scan.next();
Stringmulu="C:\Users\hp\Desktop\"+str+".txt";//文件具體目錄
Filefile=newFile(mulu);
System.out.println(txt2String(file));
}
}