本文目錄一覽:
- 1、java怎麼從一個文件讀取字元串,再存到一個字元串數組裡?
- 2、java讀取字元串
- 3、java如何讀取字元串中的某一段字元串
- 4、java怎樣把一個文本內容讀取成字元串
- 5、java中怎樣將文件的內容讀取成字元串
java怎麼從一個文件讀取字元串,再存到一個字元串數組裡?
首先,可以直接寫入string的,這段程序的這種寫法很無聊,讓你誤解了。
如: out.write(p_send_text);
其次,如果想寫入一行並且換行的話,那麼得包裝一個printwriter,如:
PrintWriter out = new PrintWriter(FileWriter(file, true));
out.println(p_send_text);
在Java里,
char表示一個字元,它可以直接轉換為int, byte, long.(ascii/unicode碼)
String表示一串字元,它可以通過某些方法轉換成一個數組,如char[], byte[],也可以用其他方法取出其中某個特定位置的字元,如charAt();
與C裡面不同,在Java中,通常String用的比較多,char[]基本不用的。
java讀取字元串
public class StringDemo1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str=”AAAAA,mmmm,111112121,dddd,11111″;
String []st=str.split(“,”);
for(String sc:st){
System.out.println(sc);
}
}
}
java如何讀取字元串中的某一段字元串
可以用substring方法來實現。
參考代碼:
String str = “hello word!”;
System.out.println(str.substring(1,4));
System.out.println(str.substring(3,5));
System.out.println(str.substring(0,4));
將得到結果為:
ell
lo
hell
如果startIndex和endIndex其中有越界的將會拋出越界異常。
String.substring(int beginIndex, int endIndex)
參數:
beginIndex 開始位置索引
endIndex 結束位置索引
返回:
從beginIndex位置到endIndex位置內的字元串
java怎樣把一個文本內容讀取成字元串
java中可以使用Scanner來讀取文件的內容,首先先通過File創建一個文件,再通過Scanner的nextLine()方法讀取文本的內容。
具體代碼如下所示:
public class Demo {
public static void main(String[] args) {
File file = new File(“C:/Users/hp/Desktop/data.txt”);
Scanner scanner = null;
try {
scanner = new Scanner(file);
String str = null;
while (scanner.hasNextLine()) {
str += scanner.nextLine() + “\r\n”;
}
System.out.println(str);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (scanner != null) {
scanner.close();
}
}
}
}
Scanner的主要功能是簡化文本掃描,這個類最實用的地方表現在獲取控制台輸入。
java中怎樣將文件的內容讀取成字元串
java中有四種將文件的內容讀取成字元串
方式一:
Java code
/**
* 以位元組為單位讀取文件,常用於讀二進位文件,如圖片、聲音、影像等文件。
* 當然也是可以讀字元串的。
*/
/* 貌似是說網路環境中比較複雜,每次傳過來的字元是定長的,用這種方式?*/
public String readString1()
{
try
{
//FileInputStream 用於讀取諸如圖像數據之類的原始位元組流。要讀取字元流,請考慮使用 FileReader。
FileInputStream inStream=this.openFileInput(FILE_NAME);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer=new byte[1024];
int length=-1;
while( (length = inStream.read(buffer) != -1)
{
bos.write(buffer,0,length);
// .write方法 SDK 的解釋是 Writes count bytes from the byte array buffer starting at offset index to this stream.
// 當流關閉以後內容依然存在
}
bos.close();
inStream.close();
return bos.toString();
// 為什麼不一次性把buffer得大小取出來呢?為什麼還要寫入到bos中呢? return new(buffer,”UTF-8″) 不更好么?
// return new String(bos.toByteArray(),”UTF-8″);
}
}
方式二:
Java code
方式三:
Java code
方式四:
Java code
/*InputStreamReader+BufferedReader讀取字元串 , InputStreamReader類是從位元組流到字元流的橋樑*/
/* 按行讀對於要處理的格式化數據是一種讀取的好方式 */
private static String readString4()
{
int len=0;
StringBuffer str=new StringBuffer(“”);
File file=new File(FILE_IN);
try {
FileInputStream is=new FileInputStream(file);
InputStreamReader isr= new InputStreamReader(is);
BufferedReader in= new BufferedReader(isr);
String line=null;
while( (line=in.readLine())!=null )
{
if(len != 0) // 處理換行符的問題
{
str.append(“\r\n”+line);
}
else
{
str.append(line);
}
len++;
}
in.close();
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str.toString();
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/288465.html