如果我有以下代码:
private PrintWriter m_Writer;
m_Writer = new PrintWriter(new FileWriter(k_LoginHistoryFile));
Run Code Online (Sandbox Code Playgroud)
我正在写一个名为的服务器上的本地文件k_LoginHistoryFile.
现在,当我的程序运行它为这个文件写作时,我怎样才能删除每次写入之间的所有文件内容?
我认为这很重要,因为我不想写一个文件,该文件最终会在其开头有最新信息,而不是最新信息.
提前致谢
我工作的一个项目,但是当我从文件中读取它无法读取一些字符(如?,ž,š,等),我不知道我究竟做错了.
这是我的代码:
try {
reader = new InputStreamReader(getAssets().open("koce_podatki.txt"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader br = new BufferedReader(reader);
for(int i=-1;i<position;i++){
try {
temp = "" + br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 目前我已经得到了以下从网站上抓取数据的内容.
try {
in = ServiceUtils.connect(url);
} catch (Exception e1) {
e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这很棒,然后我可以遍历每一行来找到我想要的东西.
while ((inputLine = in.readLine()) != null){
//Do a whole bunch of stuff
}
Run Code Online (Sandbox Code Playgroud)
但是,while循环意味着我将遍历页面的整个内容,当我已经知道我想在达到一个唯一的文本字符串之后查看内容,如下所示:
<caption>Latest Entries</caption>
Run Code Online (Sandbox Code Playgroud)
如何跳过解析每行代码?在解析之前是否可以删除该字符串上方的所有内容?
我有问题从我的套接字读取我只读取如果值不为null但它不起作用.
@Override
public void run() {
System.out.println("Reading from socket");
while(true){
try {
if(!(br.readLine().equals(null)))read += br.readLine();
} catch (IOException e) {
System.out.println("error " + e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
在java.lang.Thread.run(未知来源)的connection.CreateConnection.run(CreateConnection.java:61)中的线程"Thread-4"java.lang.NullPointerException中的异常
我在下面有这个代码.基本上我从给定的URL获得输入.这个网站显示一个句子.每次我重新加载网站,它都会得到一个新的句子,依此类推.所以,我设法让它工作.现在我正在尝试在文本文件中编写句子.但有些事情是错的.它只写第一行而没有别的.我的代码出了什么问题?
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class ReadIp {
public static void main(String[] args) throws MalformedURLException, IOException,
InterruptedException {
ReadIp readIP = new ReadIp();
while (true) {
readIP.getIP();
Thread.sleep(2000);
}
}
BufferedReader buff;
InputStreamReader inStream;
String line;
URL url;
URLConnection urlConn;
FileWriter fileWriter ;
BufferedWriter bufferedWriter;
public ReadIp() throws IOException {
fileWriter = new FileWriter("myfile.txt", true);
bufferedWriter = new BufferedWriter(fileWriter);
}
public void getIP() throws MalformedURLException, IOException { …Run Code Online (Sandbox Code Playgroud) 我想知道BufferedReader的工作原理吗?为什么使用InputStreamReader?它与Scanner类有何不同,后者也用于输入用户?哪两个更好?
我正在用Java编写一个聊天客户端,并在尝试编译时得到一个奇怪的错误消息Eclipse 4.4.1:
...
BufferedReader socketIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
...
String answer;
while (answer = socketIn.readLine() != null) {
incomingTextField.setText(answer);
}
...
Run Code Online (Sandbox Code Playgroud)
错误是:
类型不匹配:无法从布尔值转换为字符串
还有一个小贴士:
将'answer'的类型更改为'boolean'
但是,这没有任何意义,因为根据文档readLine()必须返回String.
我正在编写一个从文件读取的java程序,我需要它在文件的末尾停止,我记得在过去使用"While(line!= null)"来获取文本中的每一行,但是,它现在不适合我.我的方法是这样的:
int contator = 0;
String line2 = "";
while (line2 != null) {
line2 = reader2.readLine();
fi[contator]=line2;
for(int i =0;i<ret.length;i++){
System.out.println("line2 : "+line2+"ret : "+ret[i]);
if(line2.toLowerCase().contains(ret[i])){
fi[contator] = line2;
etiqueta[contator]=etiqueta[contator]+" reti";
}
}contator ++;
}
Run Code Online (Sandbox Code Playgroud)
它正在工作,我看到正确的打印,但是当它必须结束时,打印最后一行为null,并退出"java.lang.NullPointerException"; 印花
line2 : Number of words ret : 361.
line2 : Something here ret : 369.
line2 : other things ret : 379.23
line2 : nullret : 250.5//this is the problem, after this it throws exception
Run Code Online (Sandbox Code Playgroud)
我尝试过其他方法:
while (line2 != "null" ) …Run Code Online (Sandbox Code Playgroud) 我目前正在创建一个简单的AI(Simsimi)程序.我教会程序应该回复我的短语,这样当我"说话"时,如果我说的话已经"教"到程序中,它会回复.但是,我还需要保存程序已经学习的回复列表,到目前为止只保存最后一个输入.我的意思是什么?比方说,该方案已被教导要回复的短语Hello,Good morning和Have a good day!.
我需要将所有这三个保存在一个名为的文本文件中response.txt.但是,鉴于输入顺序相同,我只能保存Have a good day!到文件中.这是我的代码:
System.out.println("\nWhat should I reply to that?\n");
answer = simsimiInput.nextLine();
try {
writer = new BufferedWriter(new FileWriter("response.txt"));
writer.write(answer);
writer.close();
} catch (FileNotFoundException e){}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
嘿伙计们,当我试图在android java中读取文本文件时,我真的很难解决问题.
public String readFromFile(String filename)
{
String content = "";
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/MyApplication");
File file = new File(dir, filename);
Scanner scanner = new Scanner(file);
String line = "";
while(scanner.hasNextLine())
{
line = scanner.nextLine();
content += line + "\n";
}
scanner.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return content;
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用扫描仪和缓冲读取器来提取内容
public List<String> readFromFile(String filename)
{
List<String> lines = new ArrayList<String>();
FileReader fileReader;
BufferedReader bufferedReader;
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "MyApplication"); …Run Code Online (Sandbox Code Playgroud) bufferedreader ×10
java ×10
android ×2
arrays ×1
filewriter ×1
printwriter ×1
string ×1
text ×1