本文目錄一覽:
- 1、java輸入文件名,輸出該文件的內容
- 2、Java中如何實現文件的輸入和輸出?
- 3、java怎麼讀入文件,並逐行輸出
- 4、java輸出文件文件名為什麼不能用時間
- 5、Java中如何實現文件的輸入輸出?
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中如何實現文件的輸入和輸出?
程序如下:\x0d\x0a \x0d\x0a\x0d\x0aFile file1 = new File(“/home/a123/a”); \x0d\x0a\x0d\x0a if (file1.exists()) { \x0d\x0a System.out.println(“存在文件夾a”); \x0d\x0a } else { \x0d\x0a file1.mkdir(); // 文件夾的創建 創建文件夾/home/a123/a \x0d\x0a } \x0d\x0a File file2 = new File(“/home/a123/a/test”); \x0d\x0a if (file2.exists()) { \x0d\x0a System.out.println(“存在文件夾或者文件test”); \x0d\x0a } else { \x0d\x0a try { \x0d\x0a file2.createNewFile(); // 文件的創建,注意與文件夾創建的區別 \x0d\x0a } catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a } \x0d\x0a \x0d\x0a /** \x0d\x0a * 最簡單的文件讀寫方法是使用類FileWriter \x0d\x0a * (它的父類依次是java.io.OutputStreamWriter——java.io.Writer——java.lang.Object ); \x0d\x0a */ \x0d\x0a \x0d\x0a // 下面是向文件file2裡面寫數據 \x0d\x0a try { \x0d\x0a FileWriter fileWriter = new FileWriter(file2); \x0d\x0a String s = new String(“This is a test! \n” + “aaaa”); \x0d\x0a fileWriter.write(s); \x0d\x0a fileWriter.close(); // 關閉數據流 \x0d\x0a\x0d\x0a} catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a \x0d\x0a /* \x0d\x0a * 這樣寫數據的話,是完全更新文件test裡面的內容,即把以前的東西全部刪除,重新輸入。 \x0d\x0a * 如果不想刪除以前的數據,而是把新增加的內容增添在文件末尾處。只需要在創建FileWriter對象時候,使用另外一個構造函數即可: \x0d\x0a * FileWriter fileWriter=new FileWriter(file2,true); \x0d\x0a */ \x0d\x0a \x0d\x0a // 下面是從文件file2讀東西 \x0d\x0a try { \x0d\x0a FileReader fileReader = new FileReader(file2); \x0d\x0a String s = null; \x0d\x0a char ch; \x0d\x0a try { \x0d\x0a char[] c = new char[100]; \x0d\x0a fileReader.read(c,0,2); // 具體想得到文件裡面的什麼值(單個char?int?還是String?), \x0d\x0a System.out.println(c); \x0d\x0a fileReader.close(); \x0d\x0a \x0d\x0a } catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a \x0d\x0a } catch (FileNotFoundException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a /** \x0d\x0a * 具體想得到文件裡面的什麼值(單個char?int?還是String?),需要知道不通read的不同用法: \x0d\x0a * 1. int read() 讀取單個字符。 \x0d\x0a * 2. int read(char[] cbuf) 將字符讀入數組。 可以再將字符型數組轉化位字符串 \x0d\x0a * 3. int read(char[] cbuf,int off,int len) 將字符讀入數組的某一部分。 \x0d\x0a * 這三個方法都返回一個int值,作用是:讀取的字符數,如果已到達流的末尾,則返回 -1. \x0d\x0a */ \x0d\x0a \x0d\x0a }
java怎麼讀入文件,並逐行輸出
java讀入文件,並逐行輸出,先在D://home建立個文件夾,然後創建一個a.txt文件,然後編輯文件,文本編輯的編碼是utf-8,然後用流逐行讀取輸出,如下:
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
public class TestC {
public static void main(String[] args){
//獲取要讀取的文件
File readFile=new File(“D://home/a.txt”);
//輸入IO流聲明
InputStream in=null;
InputStreamReader ir=null;
BufferedReader br=null;
try {
//用流讀取文件
in=new BufferedInputStream(new FileInputStream(readFile));
//如果你文件已utf-8編碼的就按這個編碼來讀取,不然又中文會讀取到亂碼
ir=new InputStreamReader(in,”utf-8″);
//字符輸入流中讀取文本,這樣可以一行一行讀取
br= new BufferedReader(ir);
String line=””;
//一行一行讀取
while((line=br.readLine())!=null){
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//一定要關閉流,倒序關閉
try {
if(br!=null){
br.close();
}
if(ir!=null){
ir.close();
}
if(in!=null){
in.close();
}
} catch (Exception e2) {
}
}
}
}
結果:
helloworld
您好
123456
java輸出文件文件名為什麼不能用時間
因為格式錯誤。根據查詢java輸出文件文件名相關資料得知,java輸出文件文件名不能用時間是因為輸入時間格式錯誤。JAVA源文件名必須符合以下規則:
1、必須以.java結尾。這樣才能被編輯器javac.exe所編輯。
2、源文件中如果只有一個類,文件名必須與該類名相同。
3、如果有多個類,且沒有public類,文件名可與任一類名相同。
4、有多個類,且有public類,文件名必須與該類名相同。
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.
*/
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/186014.html