各位前辈,关于txt阅读器的制作?

hhh871030 2009-03-05 08:29:56
各位前辈,小弟是个学。net的,是个应届生,没有什么经验。最近想做个txt阅读器,如果各位前辈能告诉我txt阅读器的原理,或者告诉我从那下手,小弟将不胜感激。
...全文
428 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wstdxsg 2009-12-04
  • 打赏
  • 举报
回复
补充一下楼主,下面给出部分制作TXT阅读器的代码:

需要控件:
RichTextBox1,Button1

需要引用命名空间:
using System.IO

思路:
OpenFileDiailog ofd = new OpenFileDiailog(); //实例化OpenFileDiailog
ofd.ShowDailog(); //向用户弹出选择文件对话框
if(ofd.fileName!=""){ //如果用户选择了文本文件路径

RichTextBox1.Text=
File.ReadAllText(ofd.fileName,Encoding.Default); //通过用户选择的文本文件路径,用默认编码读取文本数据,并用RichTextBox1接受数据
}


如果楼主还有疑问,请mail:458745152@qq.com 或加我QQ,乐意为你解答疑问。
C#这门语言还是有前途和钱途的,希望你能继续努力。

wstdxsg 2009-12-02
  • 打赏
  • 举报
回复
用什么语言先不说,因为各有各的语言,而且我现在也在做。
我用过易和C#,大体的流程是:添加可显示文本控件->可用流根据用户选择路径打开文本文件->可添加读取书签->字体颜色和文本控件的背景色设置。
GavinDX 2009-03-07
  • 打赏
  • 举报
回复
突然发现,我对楼上某位仁兄的代码有点误会,没看清楚,不好意思,虽然楼上某仁兄是用了RichTextbox,但并不是用了RichTextBox的Load()方法。
GavinDX 2009-03-07
  • 打赏
  • 举报
回复
晕,我竟然一分都没有,楼主觉得用RichTextBox来实现很有意思吗?我觉得用那个简直就是拼积木,你觉得你用RichTextBox学会了什么?我的那个读txt文件的方法注释了的代码实际上很有用的,你想读一些有固定规则的txt文件的话,那那个注释的代码可以说就是基本,但如果仅仅是读一个txt文件的话,还是用ReadToEnd()比较好,所以我才注释了那段代码,改用ReadToEnd()。

话说回来,楼主该不会是连“方法”都不会用吧?难道还要我像楼上那样,连Openfiledialog都要给你写出来?
嘛,算了,发发牢骚而已。可以当我没说过,“分”这些就算了,只是让我觉得楼主你有点“是非不分”而已。
zccmy22 2009-03-06
  • 打赏
  • 举报
回复
说错丢人勿笑,勿笑。呵。
zccmy22 2009-03-06
  • 打赏
  • 举报
回复
我没写过c/s,但一直写b/s看看我的说法对不对。你可以试试。

在窗体上面加上下拉菜单按钮我相信你都会了吧。之后在页面内加一个,可以显示内容的控件。什么控件,我
没有具体做过,自己去找一下。

之后当点击比如打开菜单时,可以弹出一个地址选择器。之后,把选中的路径取给文件读取对像。打开。

具本细节自己找。大体思路无非是这样。
beargo 2009-03-06
  • 打赏
  • 举报
回复
刚好我以前在学校也开发个一个记事本,楼主需要的话可以找我要,分要给我哦~~呵呵.
119654848#qq.com #替换成@
GavinDX 2009-03-06
  • 打赏
  • 举报
回复
第一次贴代码,刚才找不到贴代码的功能,我又没有修改帖子的权限,现在唯有再发过一次。

用RichTextBox来实现确实是最简单的方法,不过我自己就不喜欢这样,我是使用Textbox然后使用StreamReader来读取的,贴出我写的读文件方法以及保存文件的方法给楼主参考下吧:

先在using那里添加这个:
using System.Collections;

private void ReadFile(string filepath)
{
try
{
FileStream aFile = new FileStream(filepath, FileMode.Open);
StreamReader sr = new StreamReader(aFile, Encoding.Default);

ArrayList arrText = new ArrayList();

/*while (sr.Peek() != -1)
{
string strLine = sr.ReadLine();
arrText.Add(strLine);
}*/
arrText.Add(sr.ReadToEnd()); //作用跟上面的注释语句基本等效,不过我觉得这个更好。

string[] arrString = new string[arrText.Count];
arrText.CopyTo(arrString, 0);
txtTextArea.Lines = arrString;
sr.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "打开文件失败!");
}
}


private void SaveFile(string filepath)
{
FileStream aFile = new FileStream(filepath, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(aFile, Encoding.Default);

try
{
foreach (string oneLine in txtTextArea.Lines)
sw.WriteLine(oneLine);

//这段注释代码跟上面的foreach语句作用等效
/*int i;
for (i = 0; i < txtTextArea.Lines.Length - 1; i++)
{
sw.WriteLine(txtTextArea.Lines[i]);
}*/

sw.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "保存文件出错!");
}
}
GavinDX 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Guyschaos 的回复:]
C# codeusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespaceWindowsApplication1
{publicpartialclassForm1 : Form
{publicForm1()
{
InitializeComponent();
}privatevoidForm1_Load(objectsender, EventArgs e)
{this.openFileDialog1.ShowDialog();
}privatevo…
[/Quote]
用RichTextBox来实现确实是最简单的方法,不过我自己就不喜欢这样,我是使用Textbox然后使用StreamReader来读取的,贴出我写的读文件方法以及保存文件的方法给楼主参考下吧:

先在using那里添加这个:
using System.Collections;

private void ReadFile(string filepath)
{
try
{
FileStream aFile = new FileStream(filepath, FileMode.Open);
StreamReader sr = new StreamReader(aFile, Encoding.Default);

ArrayList arrText = new ArrayList();

/*while (sr.Peek() != -1)
{
string strLine = sr.ReadLine();
arrText.Add(strLine);
}*/
arrText.Add(sr.ReadToEnd()); //作用跟上面的注释语句基本等效,不过我觉得这个更好。

string[] arrString = new string[arrText.Count];
arrText.CopyTo(arrString, 0);
txtTextArea.Lines = arrString;
sr.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "打开文件失败!");
}
}

private void SaveFile(string filepath)
{
FileStream aFile = new FileStream(filepath, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(aFile, Encoding.Default);

try
{
foreach (string oneLine in txtTextArea.Lines)
sw.WriteLine(oneLine);

//这段注释代码跟上面的foreach语句作用等效
/*int i;
for (i = 0; i < txtTextArea.Lines.Length - 1; i++)
{
sw.WriteLine(txtTextArea.Lines[i]);
}*/

sw.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "保存文件出错!");
}
}
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhaozhijun0207 的回复:]
引用 6 楼 Guyschaos 的回复:
引用 1 楼 ojekleen 的回复:
txt阅读器?NND,第一次听说,楼主很有创意,加油

txt阅读器这不是很正常的嘛!手机上的MOTO-TXT没用过吗?


MOTO-TXT没用过,用手机版office不就行了.
[/Quote]
越扯越远了!
zhaozhijun0207 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Guyschaos 的回复:]
引用 1 楼 ojekleen 的回复:
txt阅读器?NND,第一次听说,楼主很有创意,加油

txt阅读器这不是很正常的嘛!手机上的MOTO-TXT没用过吗?
[/Quote]

MOTO-TXT没用过,用手机版office不就行了.
XGJ889 2009-03-06
  • 打赏
  • 举报
回复
用文本控件RichTextBox
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
刚才忘说了
StreamReader hc = new StreamReader(this.openFileDialog1.FileName.ToString(),System.Text.Encoding.GetEncoding("GB2312"));//指定下编码,不然会有乱码的!
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.openFileDialog1.ShowDialog();
}
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
StreamReader hc = new StreamReader(this.openFileDialog1.FileName.ToString());
this.richTextBox1.Text = hc.ReadToEnd();
}
}
}

其他就看你要具体什么样的功能了!
caorenlong 2009-03-06
  • 打赏
  • 举报
回复
txt格式的文档,如果用在电脑上,阅读器也用不到吧,只有装上操作系统了,肯定能阅读txt文档.
倒是听说过有一个叫exebook的小东西,可以把好多txt的文档,汇集到一块,相当于一个电子图书的东西!
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
其实就是打开TXT文件,用个RichTextBox来显示就OK了!
你要实现点怎么样的功能呢?
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojekleen 的回复:]
txt阅读器?NND,第一次听说,楼主很有创意,加油
[/Quote]
txt阅读器这不是很正常的嘛!手机上的MOTO-TXT没用过吗?
whowhen21 2009-03-06
  • 打赏
  • 举报
回复
楼主可以用显示文字的控件,比如TextBox ,RichTextBox,都可以,
做的好的话可以类似于Windows的记事本哦。

可以参考用文件流读写。方便好用!
GavinDX 2009-03-05
  • 打赏
  • 举报
回复
楼主是想编个记事本吧?看你想编个怎样程度的记事本,单单是txt文件的打开以及保存和复制、剪切、粘贴功能的实现的话,其实不难,如果考虑很多细节,编个跟Windows记事本不相上下的程度的话就有难度了。
ojekleen 2009-03-05
  • 打赏
  • 举报
回复
txt阅读器?NND,第一次听说,楼主很有创意,加油

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧