解决csdn网页离线后打开自动跳转并批量处理下载的所有csdn文件

简介: 解决csdn网页离线后打开自动跳转并批量处理下载的所有csdn文件

一、问题

       我们下载到本地的一些不错的csdn文件,有时候需要离线时候打开查看,点击打开会自动跳转首页,这样搞得自己非常烦。

二、原因

      出现这种情况的原因是csdn的index.html里面有个方法onerror进行跳转,当点击本地保存的csdn文件时,会进行自动跳转。onerror方法如下:

image.png

三、解决方法

     1、我们可以notepad++打开,ctrl+H,替换所有的onerror字段为xxxx,然后保存,这样就不会自动跳转了。

     2、那么又出现一种情况,我们需要看的资料有这么多呢,难道一个文件一个文件去保存吗

image.png

     3、可以考虑写个程序,遍历该文件下的所有文件,读出所有内容,将onerror字符串替换为xxxx,这样执行一下,就可以搞定了,花不到10秒,这一堆文件就好了。代码如下。需要的小伙伴可以收藏一下。


(1)先获取保存离线文件的文件夹路径,遍历改路径下的文件和文件夹。


(2)是文件夹就跳过,文件就读取所有内容,并执行替换replaceAll方法。


(3)最后将替换后的内容再次写入文件。

import com.jiankang.filecontentreplace.config.FileConfig;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.List;
/**
 * FileExecute
 *
 * @author jiankang.xu
 * @date 2021/9/20
 */
public class FileExecute {
    public final static String LINE_SEP = System.getProperty("os.name").toLowerCase().contains("linux") ? "\n" : "\r\n";
    public static void main(String[] args) {
        String filepath = "C:\\Users\\徐健康\\Desktop\\0920";
        String result = executeFile(filepath);
        System.out.println(result);
    }
    private static String executeFile(String filepath){
        File file = new File(filepath);
        File[] files = file.listFiles();
        for (File subFile : files) {
            if(subFile.isDirectory()){
                continue;
            }
            if(subFile.isFile()){
                try {
                    List<String> lines = IOUtils.readLines(new FileInputStream(subFile.getAbsolutePath()));
                    String indexContent = String.join(LINE_SEP, lines);
                    indexContent = indexContent.replaceAll("onerror", "xxxx");
                    IOUtils.write(indexContent, new FileOutputStream(subFile.getAbsolutePath()));
                }catch (Exception e){
                }
            }
        }
        return "success";
    }
}

四、总结

       以上就是如何解决csdn网页离线后打开自动跳转的问题,然后写了个脚本批量处理下载的所有csdn文件,觉得不错的话,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

目录
相关文章
|
存储 PHP 数据安全/隐私保护
Ueditor结合七牛云存储上传图片、附件和图片在线管理的实现和最新更新
最新下载地址: https://github.com/widuu/qiniu_ueditor_1.4.3 Ueditor七牛云存储版本 注意事项 老版本请查看 : https://github.com/widuu/qiniu_ueditor_1.
3123 0
|
Web App开发 开发者
[爆]小程序内可直接打开网页了!附开发文档
昨天微信团队又深夜奉上大新闻:①小程序内可直接打开网页、②小程序可关联500个公众号。为便于开发者灵活配置小程序,小程序现开放内嵌网页能力。(网友评论称这个功能直接把小程序提高n个高度,秒掉手机浏览器。
1407 0
|
2月前
|
存储 前端开发 Java
Java后端如何进行文件上传和下载 —— 本地版(文末配绝对能用的源码,超详细,超好用,一看就懂,博主在线解答) 文件如何预览和下载?(超简单教程)
本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。
750 1
|
7月前
|
Web App开发 定位技术
Chrome中实现使用迅雷一次性选中并下载网页内全部链接的方法
Chrome中实现使用迅雷一次性选中并下载网页内全部链接的方法
177 1
|
Web App开发
Chrome浏览器与迅雷协同批量下载网页内全部链接的方法
本文介绍在Chrome浏览器中,通过迅雷自动批量选中网页中全部下载链接并进行下载的方法~
1135 1
Chrome浏览器与迅雷协同批量下载网页内全部链接的方法
【脚本】Typro笔记图片自动上传博客园脚本
【脚本】Typro笔记图片自动上传博客园脚本
190 0
【脚本】Typro笔记图片自动上传博客园脚本
谷歌浏览器下载的内容老是自动打开
原因是每次下载内容在浏览器左下角都有提示,一般都是选择打开所在文件夹,一次手残,点了总是打开此文件导致一下载文件就自动打开。
1041 0
谷歌浏览器下载的内容老是自动打开
使用APICloud实现文档下载和预览功能
使用 APICloud 开发 app 时,可以使用 api.download 方法实现下载;预览文档可以使用 superFile 模块。superFile 模块封装了基于腾讯浏览服务 TBS,使用 X5Webkit 内核,实现文件的展示功能,支持多种文件格式(PDF、Word、Execl、TXT、PPT)。
497 0
APICloud 实现文档下载和预览功能
文档下载是很多app,尤其是企业应用中常用的功能。使用APICloud开发app时,可以使用api.download方法实现下载;预览文档可以使用superFile 模块。superFile 模块封装了基于腾讯浏览服务TBS,使用X5Webkit内核,实现文件的展示功能,支持多种文件格式(PDF、Word、Execl、TXT、PPT)。
318 0
APICloud 实现文档下载和预览功能