整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

java中讲讲FileOutputStream的用法

java中讲讲FileOutputStream的用法

ileOutputStream的用法
FileOutputStream是OutputStream的继承类,从字面上就可看出,它的主要功能就是能向磁盘上写文件。write方法会把字节一个一个的写入磁盘中。
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。

例:1.1.1

import java.io.*;
public class TestMark_to_win {
public static void main(String args[]) throws Exception {
FileOutputStream f=new FileOutputStream("c:/4.txt");
/*后面的write方法里面调用了c语言里面open方法。里面有native void open(String name)
*/
byte aa=97;
f.write(aa);
char bb='b';
/*没有write(char),只能机器自动转从char到int*/
f.write(bb);

篇幅有限更多请见扩展链接:http://www.mark-to-win.com/tutorial/java_8_UsageOfFileOutputStream.html

eb页面, 一般是HTML页面,是Internet组织 信息的基础元素。Web页面元素提取是一类常见 问题,在网络爬虫、浏览器等程序中有着不可或 缺的重要作用。

HTML指超文本标记语言,严格来说,HTML不 是一种编程语言,而是一种对信息的标记语言, 对Web的内容、格式进行描述。

自动地从一个链接获取HTML页面是简单网络爬虫的功能,可以整体分成如下4个步骤:

  1. 步骤1: 读取保存在本地的html文件;
  2. 步骤2:解析并提取其中的图片链接;
  3. 步骤3:输出提取结果到屏幕;
  4. 步骤4:保存提取结果为文件。

根据上述步骤,可以写出主程序如下。其中设置 了4个函数getHTMLlines()、extractImageUrls()、 showResults()和saveResults()分别对应上述4个步骤。

getHTMLlines():读取保存在本地的html文件

extractImageUrls():解析并提取其中的图片链接

showResults():输出提取结果到屏幕

saveResults():保存提取结果为文件

代码:

def main(): 
 inputfile='nationalgeographic.html' 
 outputfile='nationalgeographic-urls.txt' 
 htmlLines=getHTMLlines(inputfile) 
 imageUrls=extractImageUrls(htmlLines) 
 showResults(imageUrls) 
 saveResults(outputfile, imageUrls)

定义main()函数的目的是为了让代码更加清晰, 作为主程序,也可以不采用函数形式而直接编写。 main()前两行分别制定了拟获取HTML文件的路 径和结果输出路径。

getHTMLlines():读取保存在本地的html文件

getHTMLlines()函数读取HTML文件并内容, 并将结果转换为一个分行列表,为了兼容不同编 码,建议在open()函数中增加encoding字段,设置采用UTF-8编码打开文件。

def getHTMLlines(htmlpath): 
 f=open(htmlpath, "r", encoding='utf-8')
 ls=f.readlines() 
 f.close() 
 return ls

extractImageUrls():解析并提取其中的图片链接

extractImageUrls()是程序的核心,用于解析文件并提取图像的URL。

def extractImageUrls(htmllist): 
 urls=[] 
 for line in htmllist: 
 if 'img' in line: 
 url=line.split('src=')[-1].split('"')[1] 
 if 'http' in url: 
 urls.append(url) 
 return urls

showResults():输出提取结果到屏幕

showResults()函数将获取的链接输出到屏幕上,增加一 个计数变量提供更好用户体验。

def showResults(urls): 
 count=0 
 for url in urls: 
 print('第{:2}个URL:{}'.format(count, url)) 
 count +=1

saveResults():保存结果到文件

文出处:

Stack Overflow

https://stackoverflow.com/questions/2053258/how-do-i-output-html-in-a-message-in-the-new-django-messages-framework

原文标题:

How do I output HTML in a message in the new Django messages framework?


问题:

我正在尝试通过Django的消息框架显示一条信息,这条信息中包含了一些HTML内容。具体来说,我使用ModelAdmin.message_user方法发送消息,这个方法仅仅是对messages()的薄封装:

到目前为止,我尝试了很多方法,但最后都显示转义后的HTML。

上面的这段代码行不通,下面的代码也不行。

base.html模板里的代码非常简单:

所以我不太确定我做错了什么。

非常感谢您的意见或指导,谢谢!


回答:

该回答获得最多的59个赞。

另一种选择是使用extra_tags关键字参数,用以表明该信息是安全的。例如:

然后利用模板逻辑来使用safe filter。


By Django的那些事儿

何谓转义?就是把html语言的关键字过滤掉。例如,<div>就是html的关键字,如果要在html页面上呈现<div>,其源代码就必须是&lt;div&gt;

Django在默认情况下会自动转义html关键字。如果不想转义可以使用safe filter,还有autoescape tag。