java写文本文件相关知识
-
Java 字符流文件读写作者:YangAM 原文链接上篇文章,我们介绍了 Java 的文件字节流框架中的相关内容,而我们本篇文章将着重于文件字符流的相关内容。首先需要明确一点的是,字节流处理文件的时候是基于字节的,而字符流处理文件则是基于一个个字符为基本单元的。但实际上,字符流操作的本质就是「字节流操作」+「编码」两个过程的封装,你想是不是,无论你是写一个字符到文件,你需要将字符编码成二进制,然后以字节为基本单位写入文件,或是你读一个字符到内存,你需要以字节为基本单位读出,然后转码成字符。理解这一点很重要,这将决定你对字符流整体上的理解是怎样的,下面我们一起看看相关 API 的设计。基类 Reader/Writer在正式学习字符流基类之前,我们需要知道 Java 中是如何表示一个字符的。首先,Java 中的默认字符编码为:UTF-8,而我们知道 UTF-8 编码的字符使用 1 到 4 个字节进行存储,越常用的字符使用越少的字节数。而 char 类型被定义为两个字节大小,也就是说,对于通常的字符来说
-
java文件读写实例java中有好几种读写文件的方法,但是个人觉得最简单的还是FileInputStream、FileOutputStream类,示例代码:package jmyang.file; import java.io.*; public class FileTest { /* * 删除文件 */ public static boolean delete(String fileName){ boolean result
-
造轮子之自己写log文件-java今天读了一篇关于java里日志的博客,提到如何写日志的问题,里面有日志的级别,日志的内容,写到了哪里,实际上自己也可以写日志,而且自己定义的日志内容比较个性化,日志最终的目的就是为了自己能够看懂,为报错提供可靠的查找依据。所以生成日志的思路很简单,生成一个以今天日期为名字的文件,然后写入,操作名称,操作内容,和操作时间即可,这种情况适用于单个客户端产生的日志保存在本地,因为这个方法会一直对该文件进行写入,知道今天过去,开始明天的日志才会新建另一个日志文件。首先是创建文件,如果文件存在,则不操作,如果文件不存在,则进行创建public static boolean createFile(String destFileName) { File file = new File(destFileName); if (file.exists()) { return false; }
-
怎样对文本文件内的文本行排序问题来自,基本要求是对文件行做一些特定排序。解决问题,是首先读到文本文本所有行,进行分析,然后再对其排序,写重写回文本文件。在下面的演示中,Insus.NET略过重写成文本文件,只是在页面输出。准备好一个文本文件ds.txt,内容跟网友大约一样。Insus.NET先写一个对象,即是处理文本文件每一行,把每一行转换为一个对象。 下面的类别中,有一个方法TryParse()是为了判断文本行是否符合分析数据的要求。让类别在应用时,获取到正确的冒号(:)前后值。下面是读取文本文件,获取所有行,并做排序:也就是说,当输出第二行时,改为输出第三行,同理,在输出第三行时,改为输出第二行,其余的,按正常顺序输出。可以从下图中,看到最终实现的效果。
java写文本文件相关课程
java写文本文件相关教程
- 5. 读写文件 打开现有文件或创建新文件后,我们需要能够读取和写入该文件。我们可以使用 readline 从文件读取行。myfile = File.open("temp.txt")=> #<File:temp.txt>myfile.readline=> "This is a test file\n"myfile.readline=> "It contains some example lines\n"另外,我们可以使用each方法读取整个文件。myfile = File.open("temp.txt")=> #<File:temp.txt>myfile.each {|line| print line }This is a test fileIt contains some example linesBut other than thatIt serves no real purpose也可以使用getc方法逐个字符地从文件中提取数据。myfile = File.open("Hello.txt")=> #<File:temp.txt>myfile.getc.chr=> "H"myfile.getc.chr=> "e"myfile.getc.chr=> "l"我们还可以使用putc方法写入文件,一次写入一个字符,或者使用puts方法一次写入一个字符串-请注意rewind方法调用的重要性。这会将文件指针移回文件的开头,因此我们可以阅读所写内容。myfile = File.new("write.txt", "w+") # 读写模式打开文件=> #<File:write.txt>myfile.puts("This test line 1") # 写入第一行=> nilmyfile.puts("This test line 2") # 写入第二行=> nilmyfile.rewind # 将指针移动到开头=> 0myfile.readline=> "This test line 1\n"myfile.readline=> "This test line 2\n"
- 3.2 Java 文件编写 以上代码主要实现了两个 Button 及一个 ScrollView,可以看到 ScrollView 中只有一个 LinearLayout,而 LinearLayout 中只有两个 Button,所以我们需要在 Java 代码中动态添加 Button,这里也可以让大家熟悉一下如何动态创建并添加 Button。接下来在 Java 代码中主要做两件事:为两个 Button 设置点击事件,分别实现回到顶部及跳转到底部;往 ScrollView 中添加 View,并绑定点击事件。代码如下:package com.emercy.myapplication;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import android.widget.ScrollView;import android.widget.Toast;public class MainActivity extends Activity implements View.OnClickListener { public static final int BUTTON_COUNT = 10; private ScrollView mScrollView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.bt_to_top).setOnClickListener(this); findViewById(R.id.bt_to_bottom).setOnClickListener(this); mScrollView = findViewById(R.id.scrollView); LinearLayout layout = findViewById(R.id.button_group); for (int i = 0; i < BUTTON_COUNT; i++) { Button button = new Button(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); params.topMargin = 100; layout.addView(button, params); button.setOnClickListener(this); button.setText(i + ""); } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_to_top: mScrollView.fullScroll(ScrollView.FOCUS_UP); break; case R.id.bt_to_bottom: mScrollView.fullScroll(ScrollView.FOCUS_DOWN); break; default: Toast.makeText(this, "当前点击的是第" + ((Button) v).getText() + "个Button", Toast.LENGTH_SHORT).show(); break; } }}效果如下:我们在代码中通过 for 循环往 ScrollView 中添加了 10 个 Button,动态添加一个 View 主要有以下 4 步:通过构造器创建 View。设置其属性(宽、高、margin、padding 等)。设置响应事件(比如点击、触摸、滚动等)。添加到相应的 ViewGroup 中。我们在创建 Button 的同时通过setText及setOnClickListener设置了文本及点击事件,然后在点击的时候展示当前 Button 的序号。
- 3. 文件写入 文件写入有两种模式,追加模式和覆写模式。如果在打开文件的时候加上了 O_APPEND 模式,就是追加,如果不加就是覆写。代码示例:package mainimport ( "os")func main() { f1, err := os.OpenFile("a.txt", os.O_RDWR|os.O_CREATE, 0777) if err != nil { panic(err) } f1.WriteString("覆写字符") f1.Close() f2, err := os.OpenFile("b.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0777)//追加模式打开文件 if err != nil { panic(err) } f2.WriteString("追加字符")}反复执行几遍上述代码,然后打开两个文件,文件内容如下:覆写的文件中只有"覆写字符"这四个字,因为其写入被不断覆写了。追加的文件中有很多"追加字符",因为其写入是不断的被追加到文件末尾的。
- 3.1 读写文件 在终端使用 node js文件.js 就可以使用 Node.js 执行 .js 文件。在 Node.js 中,处理文件需要使用 fs 模块。这个模块是 Node.js 自带的,可以直接引入。首先创建一个 .js 文件,然后在同级目录下,创建任意的文本文件。// app.jsvar fs = require('fs');var text = fs.readFileSync('./text.txt', 'utf-8');console.log(text);写完这三行代码,保存后就可以去终端执行代码了。fs 模块的 readFileSync 方法,表示可以同步的读取一个文件,然后将读取到的文件放在 text 变量中。随后将读取到的文件进行输出。fs 文件非常重要,一些特殊的配置文件,如 YAML 配置文件,就需要 fs 模块读取,在或者是静态资源,也需要用 fs 模块读取或者写入。fs 模块通过 require 引入,Node.js 支持 commonjs规范,通过 commonjs规范 来处理模块。新版的 Node.js 已经支持 ES Module,需要修改 package.json 中的 type 选项为 module。
- 2.2 写入文件 继续上面文件的操作,使用 puts 可以继续写入文件。a = IO.sysopen '/Users/Andrew/Desktop/123.txt', 'a'p alorem = IO.new(a)p lorem.puts "sentence4"p lorem.puts "sentence5"#---- 输出结果 ----7nilnil执行后我们查看 123.txt 文件,发现文件内容变更为:sentence1sentence2sentence3sentence4sentence5
- HTML 文件基本结构 HTML 文件和普通文本文件不一样的地方还在于,我们如果想在 HTML 文件当中编写网页的内容,我们不仅要遵循 HTML 的语法,我们还必须按照 HTML 文件的结构来编写我们的代码,只有我们按照规定的结构来编写代码,才能达到我们想要的效果。
java写文本文件相关搜索
-
j2ee
j2ee是什么
jar格式
java
java api
java applet
java c
java jdk
java list
java map
java script
java se
java socket
java swing
java switch
java web
java xml
java 程序设计
java 多线程
java 环境变量