scanner接受字符串来读取一个字符串,怎么把这个字符串转成字节流

用java输入输出流自动打开文件后如何在文件末尾追加一行字符串-_星空见康网
用java输入输出流自动打开文件后如何在文件末尾追加一行字符串
用java输入输出流自动打开文件后如何在文件末尾追加一行字符串
/&#47:
FileWriter writer = new FileWriter(&d:&#47。&===&我是小白.length();
&#47.seek(fileLength);
randomFile.write(&quot, true);
writer.txt&; 文件长度.writeUTF(&我是小白&);
randomFile.close(); 方法二方法一:
RandomAccessFile randomFile = new RandomAccessFile(&d;);rw&quot:/1.txt&quot,字节数
long fileLength = randomF/将写文件指针移到文件尾。
randomFile
Successful operation!&;/ 将写文件指针移到文件尾:&line++;}reader.close();} catch (IOException e) {e.printStackTrace();} finally {if (reader != null) {try {reader.close();} catch (IOException e1) {}}}}public static void main(String[] args) {String fileName = &quot! &#92,其中boolean型参数则表示是否以追加形式写文件FileWriter fw = new FileWriter(fileN\n Game is Over:fileName表示文件名;文件的内容如下。raf.seek(fileLength);\n按RandomAccessFile的形式追加文件后的内容如下:&);CharactersDemo_03.appendMethod_one(fileName, content);CharactersDemo_03.appendMethod_one(fileName, &import java.appendMethod_two(fileN/ 按字节的形式将内容写到随机访问文件流中/&#47package Chapter07.Characters.io.IOEimport java.append.txt&try {System.out.println(&以行为单位读取文件内容,一次读一整行.out.appendMethod_two(fileName.readLine()) != null) {/&#47, true);//;String content = &reader = new BufferedReader(new FileReader(file));String tempString =int line = 1;/&#47:/temp/CharactersDemo_03;D.printStackTrace():fileName表示文件名;} catch (IOException e) {e, content); 获取文件的长度即字节数// 关闭流CharactersDemo_03: & + tempString).RandomAccessFpublic class CharactersDemo_03 {/&#47.io.BufferedRCharactersDemo_03;System.out.println(fileName + &/);); 使用FileWriter实现文件的追加,其中.io.FileReader:&n&);CharactersDemo......操作数据库才用到Driver接口吧,文件读写似乎不需要用它import java.io.BufferedRimport java.io.FileRimport java.io.RandomAccessFimport java.util.S/** * @author idle~` * @version 0.1 * @date
*/public class IOTest {
// 1 public static void readFile(String fileName){
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while(line != null){
System.out.println(line);
line = br.readLine();
br.close();
fr.close();
}catch(Exception e){
e.printStackTrace();
public static void selectStudent(String sid,String fileName){
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
boolean flag =
while(line != null){
if(line.contains(sid)){
System.out.println(line);
line = br.readLine();
System.out.println(&No date found&);
br.close();
fr.close();
}catch(Exception e){
e.printStackTrace();
public static void addStudent(String sid,String name,String cid,String email,String phone,String fileName){
RandomAccessFile rf=new RandomAccessFile(fileName,&rw&);
String line = rf.readLine();
boolean flag =
while(line != null){
if(line.contains(sid)){
System.out.println(&ID repeated&);
line = rf.r......:
那么上一级方法是不是一定不可以有输入输出流对象呢? 比如说你可以再上一级方法当中创建流然后作为参数代...
可以通过“BufferedReader”读取文件内容,之后通过OutputStreamWriter ...
//java中使用文件输入流和文件输出流进行文件读写的用例! Java package com.te...
你不自己的关的话,有些数据还在缓存里,并没有真正写进文件,最好自己手动关,吧缓存的数据都写进文件,而...
import java.io.Fimport java.io.FileInputStream...
/** * 读写指定文件或者读写指定某一个文件夹下的全部文件(不包括文件夹) * @throws E...
一般情况下是:先打开的后关闭,后打开的先关闭 另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流...
Java 输入/输出(I/O)机制提供了一套简单的,标准化的API以便从不同的数据源读取和写入字符和...
其中BufferedInputStream是FileInputStream的子类,你可以理解成同样处...
FileInputstream,FileOutputstream比较常用
你可能想看的相关专题【图文】java第七章_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java第七章
大小:245.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢IOStream 2 - 简书
IOStream 2
April 27th
文本文件用字节流读取
可能会出现乱码,所以要用到字符流
fileWriter是有缓存的,先存到缓存中,字节流没有缓存直接写到文件中。out.flush(), 刷新缓存关闭的时候会调用刷新的方法
字符输出流
按照字符来进行读取,一个英文是一个字符,一个中文也是一个字符如果操作的是文本类型的文件,使用字符流操作,如果是非文本类型的文件,使用字节流操作。
字符输入流
字节字符转换流复制文件
public class CopyFileDemo {
public static void copyFile(File target, String dest) {
String fileName = target.getName();
File destFile = new File(dest + fileName);
InputStream in = new FileInputStream(target);
OutputStream out = new FileOutputStream(destFile);
byte[] bytes = new byte[1024];
int len = -1;
while ((len = in.read(bytes)) != -1) {
out.write(bytes, 0, len);
out.close();
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}public static void main(String[] args) {
// TODO Auto-generated method stub
File Target = new File("//Users//Zellerpooh//Desktop//images//dddddb.jpg");
String dest = "//Users//Zellerpooh//Desktop";
copyFile(Target, dest);
System.out.println("文件复制成功");
public class ChangeStreamDemo {
public static String reader(InputStream in){
BufferedReader reader=new BufferedReader(new InputStreamReader(in));
return reader.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Reader reader=new InputStreamReader(in);
char[] cs=new char[1024];
int len=-1;
StringBuffer buf=new StringBuffer();
while((len=reader.read(cs))!=-1){
buf.append(new String(cs,0,len));
reader.close();
return buf.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
public static void main(String[] args) {
Scanner input=new Scanner(System.in); 控制台输入,只有字节流
String info=reader(System.in);
System.out.println(info);
缓冲流对文件或其它目标频繁的读写操作,效率低,性能差。首先要明确一个概念:使用缓冲流的好处是,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来
BufferedInputStream: 为另一个输入流添加一些功能,在创建 BufferedInputStream 时,会创建一个内部缓冲区数 组,用于缓冲数据。
BufferedOutputStream:通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字 节写入调用底层系统。
BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
BufferedInputStream
BufferedOutputStream
BufferedReader
BufferedWriter
打印流打印流的主要功能是用于输出,在整个IO包中打印流分为两种类型: 字节打印流:PrintStream字符打印流:PrintWriter打印流可以很方便的进行输出
对象流效率不高,真实使用时很少使用
类需要实现Serializable接口
transient 表示该属性不用序列化
ObjectStream
字节数组流包含一个内部缓冲区,该缓冲区包含从流中读取的字节。内部计数器跟踪 read 方法要提供的下一个字节。 关闭ByteArrayInputStreamByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。 ByteArrayOutputStream此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据。 关闭 ByteArrayOutputStream 无效。此类中的方法在关闭此流后仍可被调 用,而不会产生任何 IOException。
数据流DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出 流写入稍后由数据输入流读取的数据。 DataInputStream 对于多线程访问不一定是安全的。 线程安全是可选的, 它由此类方法的使用者负责。DataOutputStream:数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将 数据读入。
字符串流StringReader 其源为一个字符串的字符流。StringWriter一个字符流,可以用其回收在字符串缓冲区中的输出来构造字符串。 关闭 StringWriter 无效。此类中的方法在关闭 该流后仍可被调用,而不会产生任何 IOException。
RandomAccessFileRanndomAccessFile是IO包的类,从Object直接继承而来。 只可以对文件进行操作,可以对文件进行读取和写入。 当模式为r是,当文件不存在时会报异常,当模式为rw时,当文件不存在时,会自己动创建文件,当文件已经 存在时 不会对原有文件进行覆盖。
RandomAccessFile有强大的文件读写功能,其内部是大型 byte[],可以通过seek(),getFilePointer()等方法操作的 指针,方便对数据进行写入与读取。还可以对基本数据类型进行直接的读和写操作。
RandomAccessFile的绝大多数功能,已经被JDK 1.4的nio的“内存映射文件(memory‐mapped files)”给取代了,你该考 虑一下是不是用“内存映射文件”来代替RandomAccessFile了。
RandomAccessFile
Android小白的学习笔记,欢迎指出错误。
https://zellerpooh.github.io/温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(6817)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'java编码转换',
blogAbstract:'java中字符都是以unicode形式存储,因此在java中进行字符转换,先转换为unicode,然后再将unicode转换为对应的字符编码
相关方法:public String(byte[]&bytes,'
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}Java(52)
除了最基本的字符流外,还有其它类,如CharArrayReader,CharArrayWriter,StringReader,StringWriter,PrintWriter,PushbackReader等,这些字符流的详细使用说明可以参考JavaAPI文档
一般的,名称以Reader结尾的类都是字符输入流,其大部分读取数据的方法都来自Reader类,名称以Writer结尾的类都是字符输出流,其大部分写数据的方法都来自Writer类,名称以Stream结尾的类一般都是字节流。
PrintWriter用于向字符(文本)输出流打印对象的格式化表示形式
Scanner是一个可以使用正则表达式来解析字符串的简单文本扫描器。Scanner使用分隔符模式将其输入分解为标记,在默认情况下该分隔符模式与空白匹配。然后可以使用不同的next()方法将得到的标记转换为不同类型的值,在读取下一个标记之前可以使用hasNext()方法检测下。
基本思路是先用Scanner类和文件字符输入流读取文件中的每一行,再用Scanner扫描解析每一行,得到需要的数据。
import java.io.FileNotFoundE
import java.io.FileR
import java.io.PrintW
import java.util.S
public class ScannerPrintWriterDemo {
public static void main(String[] args) {
Scanner s=null;
PrintWriter pw=null;
s=new Scanner(new FileReader("source.txt"));
pw=new PrintWriter("dest.txt");
while(s.hasNextLine())
String strLine=s.nextLine();
int sum=getLineSum(strLine);
pw.println(strLine +"\t"+sum);
catch(FileNotFoundException e)
e.printStackTrace();
if(s!=null)
s.close();
if(pw!=null)
pw.close();
private static int getLineSum(String strLine)
Scanner s=new Scanner(strLine);
int sum=0;
while(s.hasNextInt())
sum+=s.nextInt();
提示:Scanner不仅可以读取解析输入流的内容,还可以扫描解析字符串,转换成用户需要的数据。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:69120次
积分:3093
积分:3093
排名:第11416名
原创:248篇
评论:14条
(6)(5)(18)(43)(67)(109)

我要回帖

更多关于 scanner输入字符串 的文章

 

随机推荐