寻求一些帮助,我目前编写了一个HTTP服务器.它目前正在处理GET请求.然而,在使用POST时,缓冲的阅读器似乎挂了.当请求停止时,通过缓冲读取器读取其余输入流.我在谷歌上发现了一些东西.我已经尝试将CRLF和协议版本从1.1更改为1.0(浏览器自动发出请求为1.1)任何想法或帮助将不胜感激.谢谢
我有以下从缓冲读取器读取的示例:
while ((inputLine = input.readLine()) != null) {
System.out.println("I got a message from a client: " + inputLine);
}
Run Code Online (Sandbox Code Playgroud)
println只要缓冲读卡器中出现某些内容(input在本例中),就会执行循环中的代码.在我的例子中,如果客户端应用程序向套接字写入内容,则将执行循环中的代码(在服务器应用程序中).
但我不明白它是如何工作的.inputLine = input.readLine()等待直到缓冲的阅读器中出现某些内容,当出现某些内容时,它会返回true并执行循环中的代码.但什么时候null可以退货.
还有一个问题.上面的代码取自一个方法,throws Exception我在Thread的run方法中使用了这个代码.而当我尝试在编译器抱怨throws Exception之前放置run:重写方法不会抛出异常.没有throws exception我有来自编译器的另一个抱怨:未报告的异常.那么,我该怎么办?
在Java中,我试图解析包含复杂文本(如希腊符号)的HTML文件.
当文本包含左向引号时,我遇到一个已知问题.文字如
mutations to particular “hotspot” regions
Run Code Online (Sandbox Code Playgroud)
变
mutations to particular “hotspot?? regions
Run Code Online (Sandbox Code Playgroud)
我通过写一个简单的文本副本meathod来解决这个问题:
public static int CopyFile()
{
try
{
StringBuffer sb = null;
String NullSpace = System.getProperty("line.separator");
Writer output = new BufferedWriter(new FileWriter(outputFile));
String line;
BufferedReader input = new BufferedReader(new FileReader(myFile));
while((line = input.readLine())!=null)
{
sb = new StringBuffer();
//Parsing would happen
sb.append(line);
output.write(sb.toString()+NullSpace);
}
return 0;
}
catch (Exception e)
{
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供一些建议,如何纠正这个问题?
★我的解决方案
InputStream in = new FileInputStream(myFile);
Reader reader = new InputStreamReader(in,"utf-8"); …Run Code Online (Sandbox Code Playgroud) java special-characters html-parsing bufferedwriter bufferedreader
...
Scanner scan = new Scanner(System.in);
System.out.println("Input : ");
String t = scan.next();
FileWriter kirjutamine = new FileWriter("...");
BufferedWriter out = new BufferedWriter(writing);
out.write(t)
out.close();
...
Run Code Online (Sandbox Code Playgroud)
如果我在文件中写入一些字符串,那么它会转到第一行.但是如果再次运行程序,它会将新文本写入前一个文本(进入第一行).我想这样做:如果我插入一些东西,那么它会转到下一行.例如:
after 1 input) text1
after 2 input) text1
text2
Run Code Online (Sandbox Code Playgroud)
等等...
我应该在代码中改变什么?谢谢!
这是我的代码:
try {
String textLine;
FileReader fr = new FileReader("ad.txt");
BufferedReader reader = new BufferedReader(fr);
while((textLine=reader.readLine()) != null) {
textLine = reader.readLine();
jTextArea1.read(reader, "jTextArea1");
}
}
catch (IOException ioe) {
System.err.println(ioe);
System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)
我的.txt文件包含以下内容:
contig00001长度= 586个numreads = 4 CGGGAAATTATCcGCGCCTTCACCGCCGCCGGTTCCACCGACGAACGGATACTGCGtGaa ggCCGCGATCCCGTCggaCGGAAAaCGCCcTGGCCCGGGAaCATACCGTTCGGGCCGCCA AGTGTTATAGCCGGACCACTTGTCAGAACATTTCCaaTCCGAAGATGTGAGTtCGGAAGg TAAAAGCCCGACAAGTTGCGCGgTGAATTTACCTTtACcGCACGATATGCGTCCGTATTA AaGAAAaGTTCGAAATTATCAGTAAGGCCGACCTGAAaGCTGACCGGGAGTTCAACAAAA TCTGCATCACCcGGgTCACGGTCGAAATTGCTGTACGCGGCGCTGAACGTAAATTCACCC TTTcTAAGGGTGTCGCcGTCGTAAACCGTAAaCAaGCCGGTAGCGCCGCCCATCGGGCCG CCGGTACCAACCGTCGGTGCCGTGTTTCTtGCATCATTGTCCGATCGAGCGTTCTCGTCC GCTTGTGCAAaTCCTGCAaTAGCTAACGTGAAAACGATCAGAGCTGTTGTAAATACTCTA TAAGCGAGATTCATCACATTCCTCcGCCGAAATAAAAAGTTAATTt
contig00002长度= 554个numreads = 4 TGCGCCAaCCGCGCTCTtCATAAaTGGGCACTGCTCCCGATGGCCgACTCGGGCGGTTCG CCATGAGATCTTTGCCtACCcAGgAaCtCACcACCAAGTCTGATTGCTGTGTGTTTtCTT CAAGTCCCTATTTCTATTCtCTTtAATGGAACCCGTAGGAAACCCGTGTAGGACGCGGGA aCCGCACTTgAAGGGGGAGGCGCGGGGTACCGGtCCGGGAACGTACGGGTACCGGCGGGG gAGGGGAGGGGGACCgCTCCGGGAAGGCCAGGGGACGGATTGGGGAAGGgCGGGTACCGA AGCGGGgAAaTGGGggAaCcGGCGAGAGGGTTCCTCGCTAAGTGGGGGAAATaGGGGAAA GGTTGACCAGTGGTtCCCcGCTCTCGTAACATGCCTCAGATAGCGCCATCCGCTGTACCT GGtcaggtcGctggcaacttcggccgagcaggtgaacccgaaaggtgagggtcagtgtga cacaccaaccgaacaccgacgaggcaagcgtaggagccggcgtggccgcgcccggcggcg ctgaggactcctcg
但是跳过前两行显示输出.
这是什么原因?
在Java ...
我有数据存储在BufferedReader中.(我把它作为对HTTP post请求的响应.)
如何将此(二进制)数据写入文件?
我知道如何将字符串写入文件,但如何获取BufferedReader中的数据并将其放入文件中.
提前致谢!
我试图让我的代码忽略它正在阅读的一些行.我的SSCE因此是:
public class testRegex {
private static final String DELETE_REGEX = "\\{\"delete"; //escape the '{', escape the ' " '
private static final String JSON_FILE_NAME = "example";
public static void main(String[] args){
String line = null;
try{
BufferedReader buff = new BufferedReader (new FileReader(JSON_FILE_NAME + ".json"));
line = buff.readLine buff.close();
}catch (FileNotFoundException e){e.printStackTrace();}
catch (IOException e){e.printStackTrace();}
String line=buff.readLine();
System.out.println(line.contains(DELETE_REGEX));
}
}
Run Code Online (Sandbox Code Playgroud)
我的文件只包含以下行:
{"delete":{"status":{"user_id_str":"123456789","user_id":123456789,"id_str":"987654321","id":987654321}}}
但是这打印出错......我的正则表达式错了吗?我{通过双重逃避匹配,\\{因为它建议在这里.
字符串文字
"\(hello\)"是非法的,并导致编译时错误; 为了匹配字符串(hello),"\\(hello\\)"必须使用字符串文字.
我逃避了"使用\" …
我无法查看下面的代码有什么问题.没有任何输出时输出空值.
输出: null This is one. This is two. This is three. This is four five six. seven? null
文件内容:
This is one.
This is two.
This is three.
This is four
five
six.
seven?
Run Code Online (Sandbox Code Playgroud)
任何有关这方面的帮助将不胜感激!
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
String cLine="";
while ((cLine = br.readLine()) != null) {
content+= cLine;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
Run Code Online (Sandbox Code Playgroud) 这可能听起来很容易或者是一个古老的愚蠢问题,但对我来说却完全不同.我已经为半降金字塔模式编写了一个程序,就像这样.
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
我知道这很容易,诀窍是我不想通过使用Scanner和做到这一点Integer.parseInt().我想用BufferedReader和做这个InputStreamReader.所以当我执行以下代码的main方法时输入为5的num.当我打印它时,它读为53.我不知道为什么会这样.但是当我使用'Integer.parseInt(br.readLine())'方法时,它会给出准确的输出.当read方法应该读取int值时,应该如何发生.请清除它.
int num1;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter hte value of num1");
//num1=Integer.parseInt(br.readLine());
num1=br.read();
System.out.println(num1);
for(int i=0;i<num1;i++)
{
for(int j=0;j<=i;j++)
{
System.out.print(j+"\t");
}
System.out.println();
}
Run Code Online (Sandbox Code Playgroud)
这是我的第一个问题所以请忽略愚蠢的错误,我尽力写出来.谢谢..
为什么我们\n在用JSON数据读取数据时添加BufferedReader?
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
while((line = reader.readLine())!=null){
sb.append(line + "\n");
}
Run Code Online (Sandbox Code Playgroud) bufferedreader ×10
java ×10
file-io ×2
android ×1
filereader ×1
hang ×1
html-parsing ×1
http ×1
inputstream ×1
ioexception ×1
java-io ×1
json ×1
jtextarea ×1
post ×1
readline ×1
regex ×1
swing ×1