Java中,怎样把一段文字写入一个文本文件中?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中,怎样把一段文字写入一个文本文件中?相关的知识,希望对你有一定的参考价值。
希望高手可以给出一个例子,比如我想把下边的文字写入到文本文件中:
12345
abcde
123.abc
我的思路是先把这3行字符输入到一个集合中,然后再存入文本文件中。但是一直不知道从何下手。刚学Java,请多指教。
多谢各位了。
参考下面代码,把“百度知道”写到D盘的写入文字.txt中
import java.io.*;public class C
public static void main( String[ ] args ) throws Exception
PrintWriter pw = new PrintWriter( new FileWriter( "D:\\\\写入文字.txt" ) );
pw.print("百度知道" );
pw.close();
参考技术A 使用java中的file类,url为文件的绝对地址,str为输入的字符串内容。
代码如下:
string
str="i
love
china!"
file
txt=new
file("url");
if(!txt.exists())
txt.createnewfile();
byte
bytes[]=new
byte[512];
bytes=str.getbytes();
//新加的
int
b=str.length();
//改
fileoutputstream
fos=new
fileoutputstream(txt);
fos.write(bytes,0,b);
fos.close(); 参考技术B import java.io.*;
public class C
public static void main( String[ ] args ) throws Exception
PrintWriter pw = new PrintWriter( new FileWriter( "D:\\问好.txt" ) );
pw.print("你好" );
pw.close();
其中D:\\问好.txt是你要存的文件名字,
pw.print("你好" );是你要存入文件的内容,这是最简单的了 参考技术C 你打开一个文件夹,用一个输出流关联着,然后直接将三行内容输出到文件后,再关闭文件和输出流就可以了。
还有什么不懂可以再问 参考技术D import java.io.FileWriter;
import java.io.IOException;
public class TestFile
public static void main(String[] args)
StringBuffer sb=new StringBuffer();
sb.append("12345\n");
sb.append("abcde\n");
sb.append("123.abc");
try
FileWriter fw=new FileWriter("c:/test.txt");
fw.write(sb.toString());
fw.close();
catch (IOException e)
e.printStackTrace();
本回答被提问者和网友采纳
java怎么把一段字符串当做代码来执行
在javascript中eval()可以实现字符串转代码,java中需要使用动态编译。把获得的字符串写入一个临时文件中,然后编译它,在调用其中的函数。
我们把要转换的字符串构造一个完整的类:如果方法是有返回值的.则:
public object eval(string str)
//生成java文件
string s = "class temp";
s += "object rt()"
s += "myclass mc = new myclass();"
s += " return mc."+str+"();";
s += ""
s +="";
file f = new file("temp.java");
printwriter pw = new printwriter(new filewriter(f));
pw.println(s);
pw.close();
//动态编译
com.sun.tools.javac.main javac = new com.sun.tools.javac.main();
string[] cpargs = new string[] "-d", "所在目录","temp.java";
int status = javac.compile(cpargs);
if(status!=0)
system.out.println("没有成功编译源文件!");
return null;
//调用temp的rt方法返回结果:
myclassloader mc = new myclassloader();
class clasz = mc.loadclass("test.class",true);
method rt = clasz.getmethod("rt", new class[] string[].class );
return rt.invoke(null, new object[] new string[0] );
//如果方法没有返回就直接调用
我们可以先写好多个重载的eval,有返回值和没有返回值的.以及可以传递参数的.
这样我们就可以用字符串转换为java的语句来执行. 参考技术A 你的问题其实就是java的动态代码运行问题,以下是解答。
有些情况下,我们不得不动态运行Java代码,以便提供更加灵活的方式,以下代码可参考(在JDK 1.5+平台上运行通过):
public static void main(String[] args)
int i = 10;
String code = "System.out.println(\"Hello World!\"+(13+2*5/3));";
code += "for(int i=0;i<" + i + ";i++)";
code += " System.out.println(Math.pow(i,2));";
code += "";
try
run(code);
catch (Exception e)
e.printStackTrace();
private synchronized static File compile(String code) throws Exception
File file = File.createTempFile("JavaRuntime", ".java", new File(System.getProperty("user.dir")));
file.deleteOnExit();
// 获得类名
String classname = getBaseFileName(file);
// 将代码输出到文件
PrintWriter out = new PrintWriter(new FileOutputStream(file));
out.println(getClassCode(code, classname));
out.close();
// 编译生成的java文件
String[] cpargs = new String[] "-d",
System.getProperty("user.dir") + "\\WebRoot\\WEB-INF\\classes",
file.getName() ;
int status = Main.compile(cpargs);
if (status != 0)
throw new Exception("语法错误!");
return file;
private static synchronized void run(String code) throws Exception
String classname = getBaseFileName(compile(code));
new File(System.getProperty("user.dir")
+ "\\WebRoot\\WEB-INF\\classes\\" + classname + ".class")
.deleteOnExit();
try
Class cls = Class.forName(classname);
Method main = cls.getMethod("method", null);
main.invoke(cls, null);
catch (Exception se)
se.printStackTrace();
private static String getClassCode(String code, String className)
StringBuffer text = new StringBuffer();
text.append("public class " + className + "\n");
text.append(" public static void method()\n");
text.append(" " + code + "\n");
text.append(" \n");
text.append("");
return text.toString();
private static String getBaseFileName(File file)
String fileName = file.getName();
int index = fileName.indexOf(".");
String result = "";
if (index != -1)
result = fileName.substring(0, index);
else
result = fileName;
return result;
以上是关于Java中,怎样把一段文字写入一个文本文件中?的主要内容,如果未能解决你的问题,请参考以下文章