javareadin
① java中read()方法的使用
字节流的read()方法是操作字节流的,字符流的read()方法是操作unicode字符的。
可以通过BufferedReader
流的形式进行流缓存,通过read()方法获取到缓存的内容。
示例代码:
BufferedReader
bre
=
null;
try
{
String
file
=
"X:/xxxx/xxxx.txt";//文件地址
bre
=
new
BufferedReader(new
FileReader(file));//获取到的bre就是整个文件的缓存流
while
(
bre.read()
!=
-1)
{//
判断是否为最后一个字节,若是则结束循环
System.out.println(bre.read());//输出读到的内容
};
bre.close();//切记需要写close()关闭流
备注:字节流读取过程中很容易出现乱码,建议可以用readLine方式进行逐行的读取。
② Java中c=in.read())!=-1什么意思
输入数据流的操作,in为一个inputstream对象,read()是in的方法,每次读取一个字节的二进制数据,并判断in.read()的值是否等于-1,当in.read()值等于-1时,代表数据读取完毕,最后将输入流的值赋值给c
③ Java readLine()方法
readLine()在遇到回车换行(\n,\r,\r\n都可以)时才返回。所以如果你不输入回车,即使显示的字符已经换行(控制台窗口)也不会返回。
out.print(line)后面加一个out.println()就可以了。
④ java中System.in.read();是什么意思
System.in.read()可以实现输入字符,返回字符的Unicode码,但是缺点是只能输入一个字符
System.in.read() 返回的是输入数值的 ASKII 码(一个 int 整数)。 如果要求输入与输出的一致的话: 通常情况下,你会用readLine( )一行一行地读取输入,因此要把System.in包装成BufferedReader。但在这之前还得先用InputSteamReader把System.in转换成Reader。
⑤ java中如何实现readln
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String string=br.readLine();
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
比如:
import java.io.*;
public class Inpu{
public static void main(String args[]){
//由于Java的System.in是字节流输入,所以只有int read()和int read(byte[] b)等方法来输入,这样很不方便,所以使用java.io里的BufferedReader,Java API帮助文档里的描述是:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("请输入一个字符串: ");
//br.readLine()返回的就是你输入的字符串
String string=br.readLine();
System.out.println("你输入的字符串是: "+string);
} catch (IOException ioe) {}
}
}
⑥ java 的readLine()怎么进行的
readLine()是读取流读数据的时候用的,同时会以字符串形式返回这一行的数据,当读取完所有的数据时会返回null。
代码示例:
public static void main(String[] args) throws Exception {
//获取读取流 3
FileReader reader = new FileReader("C:\Users\杨华彬\Desktop\test.txt");
BufferedReader br = new BufferedReader(reader);
while (br.readLine() != null) {
//注意这里输出的是readLine(),while循环中的和输出中的readLine()方法被掉了两次,所以会隔行读取。
System.out.println(br.readLine());
}
//关闭读取流
br.close();
reader.close();14
}
拓展资料:
使用readLine()一定要注意:
读入的数据要注意有/r或/n或/r/n
没有数据时会阻塞,在数据流异常或断开时才会返回null
使用socket之类的数据流时,要避免使用readLine(),以免为了等待一个换行/回车符而一直阻塞
⑦ java中read()方法的原理是什么
既然你能看到这个方法的源代码,那你也应该能看到FilterInputStream类的其它方法的源代码,FilterInputStream类中有十个方法和一个InputStream类型的变量,变量名是in。
十个方法里有九个是重写InputStream类的方法,并且八个是直接调用变量in的同名同参方法,另一个也只是在调用in的方法时填了两个默认参数。
而十个方法中的另一个方法是构造方法,参数是InputStream的,在方法中,直接把这个参数赋给了变量in。
所以FilterInputStream实质上只是对InputStream类做了一个简单的封装,实际调用的方法是在构造方法里传过来的InputStream对象的方法。
所以想看read()方法的具体实现,应给去找InputStream类或InputStream类的子类
⑧ java中read方法问题
一楼说的很对,根据ascii编码表: 1 对应 49; 2对应50; 3 对应 51。
主要是在System.out.println(a+b+c);这一句,程序会先将abc的的ascii值进行相加,毕竟算术符号的优先级比较高,然后再将其转换成字符串进行输出,于是就是System.out.println((a+b+c).toString());
结果就是150了。
如果需要使程序按照你想的那样运行,需要将字符转换成整数载运行。
或者你使用Scanner这个类,
Scannerscanner=newScanner(System.in);
inta=scanner.nextInt();
这样就可以从输入中直接得到整数。
⑨ java流的read方法返回值怎么来的
inputstream的read函数 在很多地方都有用到 比如键盘输入或文件流输入或socket输入
read的返回值 并不是真正得到的数据,而是得到的数据的长度
你每次会希望读入一定的长度,比如你想读10个byte 如果剩余的byte数足够,将会读满所需要的字节数,如果剩余的字节数不够 将会返回一个小于你所读的数 如果读到-1 表示读取结束(经常在socket和文件读取遇到)
⑩ java readin string的问题
public String[] split(String regex);
使用
String str="im a man";
String[] list=str.split(" ");