java流转字符串
1. java中怎样将文件的内容读取成字符串
java中有四种将文件的内容读取成字符串
方式一:
Java code
/**
*以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
*当然也是可以读字符串的。
*/
/*貌似是说网络环境中比较复杂,每次传过来的字符是定长的,用这种方式?*/
publicStringreadString1()
{
try
{
//FileInputStream用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用FileReader。
FileInputStreaminStream=this.openFileInput(FILE_NAME);
ByteArrayOutputStreambos=newByteArrayOutputStream();
byte[]buffer=newbyte[1024];
intlength=-1;
while((length=inStream.read(buffer)!=-1)
{
bos.write(buffer,0,length);
//.write方法SDK的解释是m.
//当流关闭以后内容依然存在
}
bos.close();
inStream.close();
returnbos.toString();
//为什么不一次性把buffer得大小取出来呢?为什么还要写入到bos中呢?returnnew(buffer,"UTF-8")不更好么?
//returnnewString(bos.toByteArray(),"UTF-8");
}
}
方式二:
Java code
方式四:
Java code
/*InputStreamReader+BufferedReader读取字符串,InputStreamReader类是从字节流到字符流的桥梁*/
/*按行读对于要处理的格式化数据是一种读取的好方式*/
()
{
intlen=0;
StringBufferstr=newStringBuffer("");
Filefile=newFile(FILE_IN);
try{
FileInputStreamis=newFileInputStream(file);
InputStreamReaderisr=newInputStreamReader(is);
BufferedReaderin=newBufferedReader(isr);
Stringline=null;
while((line=in.readLine())!=null)
{
if(len!=0)//处理换行符的问题
{
str.append(" "+line);
}
else
{
str.append(line);
}
len++;
}
in.close();
is.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnstr.toString();
}
2. 关于java流的问题,字节流与字符流,为什么要用转换流,把字节转换成字符流,为什么不直接用字符流
你好,很高兴为你解答。
正如你所说Java IO分两种流 1)字节流 InputStream OutputStream ;2)字符流 Reader Writer 。
为什么需要用两种流,而且要转换,不直接用字符流。
简单说来,就是字符流不能处理所有的情况,字节流也不能处理所有的情况。所以需要两种转换。
先说一下二者的区别:
1)字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符卖肆数组或字符串,
2)而字节流处理单元为1个字节, 操作字节和字节数组。
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而友配镇字符流就可以。
所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多好粗国语言支持性比较好!
如果是 音频文件、图片、歌曲,就用字节流好点。
如果是关系到中文(文本)的,用字符流好点。
3. java镐庝箞灏嗘暟瀛楄浆鎹涓哄瓧绗︿覆
鏂规硶涓猴细System.out.println(鍙橀噺涓+鍙橀噺浜+鍙橀噺涓+... +鍙橀噺N)銆
镊充簬濡备綍灏嗘暟鍊艰浆鎹涓篠tring绫诲瀷锛屾湁涓绠鍗旷殑鏂规硶锛屽嵆鍦ㄦ疮涓鏁板煎悗锷犱笂[ +钬溾漖 涓𨰾鍙蜂腑镄勯儴鍒嗗嵆鍙锛屽备笅闱浠g爜锛
int i=0;
int j=0;
nt k=0;
int l=0;
System.out.println(i+""+j+""+k+""+l);
杩欐牱灏辫緭鍑虹殑缁撴灉灏辨槸0000
濡傛灉浣犺佸啓鎴愪笅闱㈢殑镙峰瓙锛
System.out.println(i+j+k+l+"");
杈揿嚭灏辨槸涓涓0
濡傛灉杈揿嚭镄勫彉閲忛兘鏄 鏁板肩被鍨嬶纴闇瑕佽浆鎹㈡垚String绫诲瀷杈揿嚭锛屼笉鑳 System.out.println(鍙橀噺涓+鍙橀噺浜+鍙橀噺涓+... +鍙橀噺N);杩欐牱锛屽惁鍒欐暟鍊奸兘锲炵浉锷犮
濡傛灉杈揿嚭镄勯兘鏄疭tring绫诲瀷镄勶纴鍙浠 System.out.println(鍙橀噺涓+鍙橀噺浜+鍙橀噺涓+... +鍙橀噺N);杩欐牱銆
镓╁𪾢璧勬枡
Java绋嫔簭镄勬暣涓妗嗘灦锛
public class Hello{ #1 public static void main(String[] args){ #2 System.out.println("Hello,World "); #3 } }
𨱒冮檺淇楗扮 class 绫诲悕{ public static void main(String[] args){ 浠g爜路路路 } }
Java涓鏄浠ョ被涓虹▼搴忕殑锘烘湰鍗曚綅锛#1涓 Hello 灏辨槸杩欎釜婧愭枃浠剁殑钖岖О銆傝繖涓钖嶅瓧涓瀹氲佷笌婧愭枃浠剁殑钖岖О鐩稿悓锛屽苟涓旓纴 Java涓绫诲悕涔犳傥绗涓涓瀛楁瘝澶у啓锛
#2鏄疛ava绋嫔簭镄勫叆鍙(main)锛
#3鏄疛ava涓鐢ㄦ潵鍦ㄦ带鍒跺彴涓婃墦鍗颁俊鎭镄勬柟娉曪绂
寤鸿闆跺熀纭鍏ラ棬镄勫皬浼欎即锛屽厛涓嶈佽姳镞堕棿铡荤悊瑙f暣涓绋嫔簭锛屽洜涓鸿繖閲岄溃娑夊强绫汇佹柟娉曘佹潈闄愪慨楗板緢澶氩悗闱㈢殑鍐呭癸纴涓寮濮嫔厛鎶婅繖涓浠g爜鏁插嚑阆嶏纴浜呜В涓涓嫔ぇ姒傜殑妗嗘灦灏辫屻
缂栧啓杩囩▼涓镄勫父瑙侀敊璇锛氩ぇ灏忓啓娌¤扮墷(Java瀵瑰ぇ灏忓啓鏁忔劅)銆佸瓧姣嶆墦阌欍佹贩娣嗗叧阌璇嶉殢镒忎贡鍑戙佽姳𨰾鍙枫佹嫭鍙枫佷腑𨰾鍙锋病链夋垚瀵瑰嚭鐜般佽鍙ョ粨𨱒熸病链夊姞鍒嗗彿銆佹纺鍐椤瓧姣嶆垨钥呭叧阌璇