java 如何将txt文本中的文字写入string

 我来答
baclq
2013-07-22 · 超过11用户采纳过TA的回答
知道答主
回答量:34
采纳率:50%
帮助的人:20.2万
展开全部
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.Scanner;

import javax.imageio.stream.FileImageInputStream;


public class Abc {

/**
 * @param args
 * @throws IOException 
 */
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
start();
}
public static void start() throws IOException
{
showSelection();
int i=0;
Scanner scan=new Scanner(System.in);
i=scan.nextInt();
select(i);
}
public static void showSelection()
{
System.out.print("1.创建");
System.out.print(" 2.显示");
System.out.print(" 3.重命名");
System.out.print(" 4.复制");
System.out.print(" 5.删除");
System.out.println(" 6.退出");
System.out.print("请输入");
}
public static void select(int i) throws IOException
{
switch (i) {
case 1:System.out.println("创建");creatFile();start();break;
case 2:viewFile();start();break;
case 3:renameFile();start();break;
case 4:copyFile();start();break;
case 5:delFile();start();break;
case 6: System.exit(0);break;
default:
break;
}
}
public static boolean creatFile()
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要创建的文件名");
String name=scans.nextLine();

File file=new File("D:\\"+name);
try{
file.createNewFile();
System.out.println("创建成功");
}
catch (Exception e) {
// TODO: handle exception
}
return true;
}
public static boolean viewFile() throws IOException
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要读取的文件名");
String name=scans.nextLine();

File file=new File("D:\\"+name);
BufferedReader br1=new BufferedReader(new FileReader("D:\\"+name));
String str="";
while((str=br1.readLine())!=null)
System.out.println(str);
br1.close();
br1=null;
return true;
}
public static boolean renameFile()
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要重命名的文件名");
String name=scans.nextLine();
System.out.println("请输入新的文件名");
String newname=scans.nextLine();
File newfile=new File("D:\\"+newname);
File file=new File("D:\\"+name);
try{
file.renameTo(newfile);

System.out.println("重命名成功");
}
catch (Exception e) {
// TODO: handle exception
}

return true;
}
public static boolean copyFile() throws IOException
{ int byteread=0;
int bytesum=0;
Scanner scans=new Scanner(System.in);
System.out.println("请输入要复制的文件名");
String name=scans.nextLine();
File file=new File("D:\\"+name);
System.out.println("请输入新复制后的文件名");
String newname=scans.nextLine();
File newfile=new File("D:\\"+newname);
InputStream in=new FileInputStream(file);
FileOutputStream fs=new FileOutputStream(newname);
byte[] buffer=new byte[1444];
while((byteread=in.read(buffer))!=-1)
{
bytesum+=byteread;
fs.write(buffer,0,byteread);
}
in.close();


return true;


}
public static boolean delFile()
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要删除的文件名");
String name=scans.nextLine();

File file=new File("D:\\"+name);
try{
file.delete();
System.out.println("删除成功");
}
catch (Exception e) {
// TODO: handle exception
}
return true;

}
}
BachelorPig
推荐于2016-07-13 · TA获得超过187个赞
知道小有建树答主
回答量:192
采纳率:80%
帮助的人:138万
展开全部
不太明白你的意思
是读取文件内容为String? 直接用common.io工具包读文件即可
若是想替换文件的内容则可以 str.replace("");
若是想添加内容 可以stringBuilder.append("String")
追问
就是比如txt文档中有一些中文文章,我想把它们读取到字符串中,然后对它进行一系列操作
追答
不解释直接上代码
/**
* 读文件,系统默认为GBK编码,若文件为其它格式的(如:UTF-8),则要指定读取文件的编码格式.
* "UTF-8"
* "GBK"
* @param file
* @return
*/
public static String readFile(File file){
if(null == file ) return null;
StringBuffer stringBuffer = new StringBuffer();
try {
// BufferedReader fileReader = new BufferedReader(new FileReader(file)); //默认字符编码:GBK
// BufferedReader fileReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));//默认字符编码:GBK
BufferedReader fileReader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
String line = fileReader.readLine();
while(null != line){
stringBuffer.append(line);
line = fileReader.readLine();
}
fileReader.close();//读完要及时关闭连接
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(file.getName()+"读取文件出错."+e.getMessage());
}
return stringBuffer.toString();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
若木寻竹
2013-07-22 · TA获得超过279个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:143万
展开全部
一行一行的录入?
RandomAccessFile raf = new RandomAccessFile(Path, openFileStyle);
String line_record = raf.readLine();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式