方法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
using
System.IO;
namespace
txt
{
public
partial
class
Form1 : Form
{
// string path;
public
Form1()
{
InitializeComponent();
button3.Click+=button3_Click;
}
private
void
textBox2_TextChanged(
object
sender, EventArgs e)
{
string
path1 = textBox2.Text;
if
(!File.Exists(path1))
{
MessageBox.Show(
"文件不存在"
);
}
}
//浏览按钮
private
void
button3_Click(
object
sender, EventArgs e)
{
/*if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
string selUrl = folderBrowserDialog1.SelectedPath;
}*/
OpenFileDialog ofd =
new
OpenFileDialog();
if
(ofd.ShowDialog() == DialogResult.OK)
{
textBox2.Text = ofd.FileName;
}
//选择文件夹
/* FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
MessageBox.Show(fbd.SelectedPath);
*/
}
//读取文件
private
void
button1_Click(
object
sender, EventArgs e)
{
if
(textBox2.Text!=
null
)
//读取文件内容并显示在textbox1中让用户修改
{
string
path=textBox2.Text;
if
(File.Exists(path))
// {
// File.Delete(path);
// }
textBox1.Text = File.ReadAllText(path, Encoding.Default);
}
}
private
void
button2_Click(
object
sender, EventArgs e)
{
// string[] appendText=textBox1.Text;
File.WriteAllText(textBox2.Text, textBox1.Text, Encoding.Default);
MessageBox.Show(
"保存成功"
);
}
}
}
|
方法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
namespace
文本文件打开测试
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
private
void
btn_Read_Click(
object
sender, EventArgs e)
{
//异常检测开始
try
{
FileStream fs =
new
FileStream(@tB_PachFileName.Text , FileMode.Open, FileAccess.Read);
//读取文件设定
StreamReader m_streamReader =
new
StreamReader(fs, System.Text.Encoding.GetEncoding(
"GB2312"
));
//设定读写的编码
//使用StreamReader类来读取文件
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
// 从数据流中读取每一行,直到文件的最后一行,并在rTB_Display.Text中显示出内容
this
.rTB_Display.Text =
""
;
string
strLine = m_streamReader.ReadLine();
while
(strLine !=
null
)
{
this
.rTB_Display.Text += strLine +
"\n"
;
strLine = m_streamReader.ReadLine();
}
//关闭此StreamReader对象
m_streamReader.Close();
}
catch
{
//抛出异常
MessageBox.Show(
"指定文件不存在"
);
return
;
}
//异常检测结束
}
private
void
btn_Replace_Click(
object
sender, EventArgs e)
{
//判断替换开始
if
(tB_Replace.Text ==
""
&&tB_Replace_2.Text==
""
)
{
MessageBox.Show(
"想替换的字符都没有就换啊,你太有才了"
);
}
else
{
if
(rTB_Display.Text ==
""
)
{
MessageBox.Show(
"文件内容为空无法进行替换,请检查文件"
);
}
else
{
string
str = rTB_Display.Text.ToString();
rTB_Display.Text = str.Replace(@tB_Replace.Text ,@tB_Replace_2.Text);
//替换
}
}
//结束
}
private
void
btn_Save_Click(
object
sender, EventArgs e)
{
//异常检测开始
try
{
//创建一个文件流,用以写入或者创建一个StreamWriter
FileStream fs =
new
FileStream(@tB_Save.Text, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter =
new
StreamWriter(fs);
m_streamWriter.Flush();
// 使用StreamWriter来往文件中写入内容
m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin);
// 把richTextBox1中的内容写入文件
m_streamWriter.Write(rTB_Display.Text);
//关闭此文件
m_streamWriter.Flush();
m_streamWriter.Close();
}
catch
{
//抛出异常
MessageBox.Show(
"写入文件失败,请检查路径 文件名与权限是否符合"
);
}
//异常检测结束
}
}
}
|
方法三:
//写入文本文件
class
WriteTextFile
{
static
void
Main()
{
//如果文件不存在,则创建;存在则覆盖
//该方法写入字符数组换行显示
string
[] lines = {
"first line"
,
"second line"
,
"third line"
,
"第四行"
};
System.IO.File.WriteAllLines(
@"C:\testDir\test.txt"
, lines, Encoding.UTF8);
//如果文件不存在,则创建;存在则覆盖
string
strTest =
"该例子测试一个字符串写入文本文件。"
;
System.IO.File.WriteAllText(
@"C:\testDir\test1.txt"
, strTest, Encoding.UTF8);
//在将文本写入文件前,处理文本行
//StreamWriter一个参数默认覆盖
//StreamWriter第二个参数为false覆盖现有文件,为true则把文本追加到文件末尾
using
(System.IO.StreamWriter file =
new
System.IO.StreamWriter(
@"C:\testDir\test2.txt"
,
true
))
{
foreach
(
string
line
in
lines)
{
if
(!line.Contains(
"second"
))
{
file.Write(line);
//直接追加文件末尾,不换行
file.WriteLine(line);
// 直接追加文件末尾,换行
}
}
}
}
}
//读取文本文件
class
ReadTextFile
{
static
void
Main()
{
//直接读取出字符串
string
text = System.IO.File.ReadAllText(
@"C:\testDir\test1.txt"
);
Console.WriteLine(text);
//按行读取为字符串数组
string
[] lines = System.IO.File.ReadAllLines(
@"C:\testDir\test.txt"
);
foreach
(
string
line
in
lines)
{
Console.WriteLine(line);
}
//从头到尾以流的方式读出文本文件
//该方法会一行一行读出文本
using
(System.IO.StreamReader sr =
new
System.IO.StreamReader(
@"C:\testDir\test.txt"
))
{
string
str;
while
((str = sr.ReadLine()) !=
null
)
{
Console.WriteLine(str);
}
}
Console.Read();
}
}
|
|