精华内容
下载资源
问答
  • 为什么line一直在读取
    千次阅读
    2020-12-23 04:06:05

    循环读取一个文件:

    fr.seek(0)

    fr.seek(0, 0)

    概述

    seek() 方法用于移动文件读取指针到指定位置。

    语法

    seek() 方法语法如下:

    fileObject.seek(offset[, whence])

    参数

    offset -- 开始的偏移量,也就是代表需要移动偏移的字节数

    whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

    def another_save():

    year_list=['00A','00B','01A','01B','01C',

    '02A','02B','03A','03B','04A','04B','05A','05B',

    '06A','06B','07A','07B','08A','08B','09A','09B',

    '10A','10B','11A','11B','12A','12B','13A','13B',

    '14A','14B','15A','15B','16A','16B','17A'

    更多相关内容
  • 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表。以前一直是用Excel实现的。但数据行多后,图表大小调整总是不太方便,一般只能通过缩放比例解决。 二、需求实现目标 通过Python程序读取Excel...
  • 一般的可能原因是:读取数据,一直在等待读取客户端Socket的数据,而Socket里面的数据已经发送完了,服务器端一直不知道。 解决办法: 1.自定义结束标记 客户端:写一个结束的标记 BufferedReader br = new ...

      一般的可能原因是:读取数据,一直在等待读取客户端Socket的数据,而Socket里面的数据已经发送完了,服务器端一直不知道。

    解决办法:

    1.自定义结束标记

    客户端:写一个结束的标记

    BufferedReader br = new BufferedReader(new FileReader("jiayou\\a.txt"));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(S.getOutputStream()));
    
    //读文件,写到客户端
    String line;
    while ((line=br.readLine())!=null){
        bw.write(line);
        bw.newLine();
        bw.flush();
    } 
    bw.write("886");
    bw.newLine();
    bw.flush();

    服务器:读取结束的标记,结束while循环

    BufferedReader br = new BufferedReader(new InputStreamReader(acc.getInputStream()));
    BufferedWriter bw = new BufferedWriter(new FileWriter("jiayou\\d.txt"));
    while ((i=br.readLine())!=null){ 
               if ("886".equals(i)){
                   break;
      }
                bw.write(i);
                bw.newLine();
                bw.flush();
            }

    2.void shutdownOutput​() 禁用此套接字的输出流。调取Socket方法:

    客户端:

    String line;
    while ((line=br.readLine())!=null){
        bw.write(line);
        bw.newLine();
        bw.flush();
    } 
    S.shutdownOutput();

    服务器:等待读取数据,会读到结束的标记

    while ((i=br.readLine())!=null){ //等待读取数据,会读到结束的标记
                bw.write(i);
                bw.newLine();
                bw.flush();
            }

    展开全文
  • i have a method, which should return a string from a text file. But it returning null. Could you please help me to figure this one out?...Here is the codepublic String findFile(){String line =...

    i have a method, which should return a string from a text file. But it returning null. Could you please help me to figure this one out? Thank you!

    Here is the code

    public String findFile()

    {

    String line = "";

    try

    {

    File myDir = new File("files");

    File myFile = new File(myDir, "ISBN 123-654.txt");

    BufferedReader br = new BufferedReader(new FileReader(myFile));

    while ((line = br.readLine()) != null)

    {

    System.out.println(line + "1");

    }

    }

    catch (IOException e)

    {

    e.printStackTrace();

    }

    System.out.println(line+"2");

    return line;

    }

    String line should hold a text like: H:\Java\workspace\LMS\files\book.jpg

    many thanks to all participated! here is working code:

    public String findFile()

    {

    String line = "";

    try {

    File myFile = new File("files", "ISBN 123-654.txt");

    BufferedReader br = new BufferedReader(new FileReader(myFile));

    while ((line = br.readLine()) == null)

    System.out.println(line + "1");

    br.close();

    }

    catch (IOException e) {

    e.printStackTrace();

    }

    System.out.println(line+"2");

    return line;

    }

    解决方案

    The while loop exits when line is null, thus the method returns null.

    Assign the value of line to another variable in your loop (or concatenate each line, for example), and return this new variable.

    For example, based on your code:

    public String findFile(){

    String fileContent = "";

    try {

    File myDir = new File("files");

    File myFile = new File(myDir, "ISBN 123-654.txt");

    BufferedReader br = new BufferedReader(new FileReader(myFile));

    String line;

    while ((line = br.readLine()) != null){

    System.out.println(line + "1");

    fileContent += line;

    }

    }

    catch (IOException e){

    e.printStackTrace();

    }

    System.out.println(fileContent+"2");

    return fileContent;

    }

    展开全文
  • 一个sftp传输工具读取一个文件夹里的xml文件,由于需要一直跑,所以写了个定时任务,把jar包部署到linux下运行时,处理很多个之后会出现这个报错,然后重新单独把这个文件放进去的时候又能够正常解析。 这个解析...
  • 想让Flink程序一直在running的话,只能让他不断循环读取数据,自定义Source即可,代码如下 package com.sunrun.Source; import com.sunrun.common.HadoopUtil; import com.sunrun.common.PathUtil; import org.apache...

    本人一名大四软件工程专业帅哥,现在进一家科技公司实习,在利用flink处理文件时发现了一些好玩的东西,看没有谁发过,就发来玩玩

    想让Flink程序一直在running的话,只能让他不断循环读取数据,自定义Source即可,代码如下

    
    
    import org.apache.flink.streaming.api.functions.source.RichParallelSourceFunction;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FSDataInputStream;
    import org.apache.hadoop.fs.FileStatus;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.time.Duration;
    import java.time.LocalDateTime;
    import java.time.LocalTime;
    
    public class ReadeHdfsSource extends RichParallelSourceFunction<String> {
    
        //循环标志符
        private volatile Boolean running;
    
        //配置hadoop hdfs fileSystem
        private transient Configuration configuration;
    
        //要输入的文件路径
        private String path;
    
        public ReadeHdfsSource(String path) {
    
    
            this.path = path;
        }
    
        @Override
        public void open(org.apache.flink.configuration.Configuration parameters) throws Exception {
            super.open(parameters);
            configuration = new Configuration();
        }
    
        @Override
        public void run(SourceContext<String> sourceContext) throws Exception {
            Boolean subRunning = true;
            String inputPath;
            init();//初始化
            String nowDataTime;
    
            try {
                while (running) {
    
                    //获取当天日期并且转为字符串
                    nowDataTime = LocalDateTime.now().toLocalDate().toString();
                    //目录拼接上日期
    
                    inputPath = path + nowDataTime;
    
                    FileSystem fileSystem = FileSystem.get(configuration);
    
                    subRunning = true;
                    LocalDateTime startTime = LocalDateTime.now();
    
                    //判断是否存在hdfs要读入的内容,没有就跳过
                    if (PathUtil.isCreate(configuration, inputPath)) {
                        collectRecords(sourceContext, fileSystem, path + nowDataTime);
                    }
    
    
                    while (subRunning) {
                        //将输入时间和现在时间作比较 相差一天且当前小时为凌晨3到9点就跳出循环进行外部循环读文件写文件
                        //与每天凌晨3点操作上面的读写文件相同
                        LocalDateTime endTime = LocalDateTime.now();
                        if (Duration.between(startTime, endTime).toDays() == 1 && ((endTime.getHour() < 9) || (endTime.getHour()) >= 3)) {
                            subRunning = false;
                        }
                        Thread.sleep(2000L);
                    }
    
    
                }
    
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
    
    
        }
    
        //输出文件流
        public void collectRecords(SourceContext<String> ctx, FileSystem fs, String path) throws IOException {
            String fileName;
            //循环根目录 得到文件名拼接
            //获取文件列表
            FileStatus[] fileStatuses = fs.listStatus(new Path(path));
            //循环文件
            for (int i = 0; i < fileStatuses.length; i++) {
                if (fileStatuses[i].isFile()) {
                    fileName = fileStatuses[i].getPath().getName();//获取文件名字
                    //打开输入流
                    FSDataInputStream dataInputStream = fs.open(new Path(path + "/" + fileName));
                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(dataInputStream));
                    String line;
    
                    while ((line = bufferedReader.readLine()) != null) {
                        ctx.collect(line);
                    }
                    //输出完成整个文件了
                }
    
    
            }
    
    
        }
    
    
        @Override
        public void cancel() {
            //点击页面cancel取消按钮的时候
            running = false;
        }
    
        //初始化
        private void init() {
            running = true;
        }
    }
    
    
    • cancel()为点击Apache Dashboard点击程序取消的时候触发
    • open()为初始化
    • run()为source程序运行的主逻辑程序
    展开全文
  • 一直以来我都是用readlines的方法,把文件都读进来处理,其实这个方法不大的文件,因为都都进来,这样就比较吃内存。我这边动辄搞1,200百万行的数据文件,这样搞不太好,也是经过一段时间学习,理解 总结如下 大家...
  • CPU“高速缓存”中的最小化单元是高速缓存行,大多数CPU的高速缓存行为64字节,因此,当CPU从内存中读取变量时,它将读取该变量附近的所有变量。 如果不同CPU内核中的两个高速缓存行中存在一个变量,则会出现错误...
  • 读取大文件一直是一个头痛的问题,我们像使用php开发读取小文件可以直接使用各种函数实现,但一到大文章就会发现常用的方法是无法正常使用或时间太长太卡了,下面我们就一起来看看关于php读取大文件问题解决办法,...
  • 报错①: 取csv文件语句:df = pd.read_csv(file_path ,skip_blank_lines=True,header=None)报错:b'Skipping line 7: expected 2 fields, saw 3刚开始没有注意这个错误,只是想要读取某一行的时候一直显示读不到。...
  • python中 怎样将从数据库中取出的数据,赋值给Data用下面语句取出了数据库中的数据,怎样才能将他们赋值给DataFrame,并按Sselect bug_type,bug_severity...bug_severity 查找表 tm_bug ,字段1名称(bug_type),字段2...
  • 文章目录简介一个奇怪的现象两个问题的答案CPU cache lineinc 和 add总结 ...知道这些东西对我们的工作有什么好处吗? um…这个问题问得好,知道了JIT的编译原理和优化方向,我们的确可以写代码的时候稍微注
  • Linux shell 命令学习:循环读取文件内容因为测试需要,要写一个shell脚本,功能: 从 一个文件(token 列表)中,读取所有的token,然后组合成Linux命令,依次后端执行。需要组合的命令如下:nohup ./sb_rtmp_...
  • C语言读取文件

    千次阅读 2021-05-23 08:56:59
    一 前言C语言中操作文件的库函数是io.h,完成对文件的输入,输出,并带...打开文件:fopen(char *filePoint): 开启指针p指向的文件,若失败则NULL2.关闭函数:fclose(char *filePoint):关闭指针p指向的文件,若失败...
  • Python实现读取文件最后n行的方法

    千次阅读 2021-02-04 14:38:08
    本文实例讲述了Python实现读取文件最后n行的方法。分享给大家供大家参考,具体如下:# -*- coding:utf8-*-import osimport timeimport datetimeimport mathimport stringdef get_last_line(inputfile) :filesize = ...
  • python支持的read_csv非常方便易用,但一次把csv转为xlsx的简单应用过程中,发现有多列诸如**‘Skipping line 7: expected 2 fields, saw 3’**报错,检查具体文件,发现报错的行都缺失了。需要调查解决。 问题...
  • vs读取txt文件一直失败

    千次阅读 多人点赞 2018-01-21 20:15:21
    工程目录下用记事本新建了一个txt文件,try.txt,然后用vs读取该txt文件 string file = "try.txt"; ifstream in; in.open(file.data()); if (!in.is_open()) { cout ; } string line; cou
  • #include<iostream> #include <string> #include <vector> #include <sstream> //字符串转换 #include <... string line; vector<double> location_1, locatio...
  • Java读取换行的问题

    千次阅读 2021-02-28 17:08:33
    原来没有用InputStreamReader和BufferedReader结合来读取流的时候,直接...用FileInputStream读取文件是用他里面read()方法来读取的,是一口气直接全部读完的,就会留下原来文件换行的脚印,但是用Buffer...
  • numpy loadtxt错误ValueError: Wrong number of columns at line ***
  • while read line只能读一行内容

    千次阅读 2018-05-28 14:51:30
    今天写了个脚本,主要功能是要远程登录一批机器执行命令。自然而然想到的是把机器ip列表放到文件中,然后使用while read line循环里用ssh远程登录并执行命令。脚本大概如下: #!/bin/bash file=$1...
  • 缓存行Cache Line 是个啥

    千次阅读 2022-01-06 09:07:16
    缓存行Cache Line 是啥 Cache Line :顾名思义叫做缓存行 ...Mysql里面的存储引擎也是有磁盘预读的效果,比如innodb默认读16kb一页,多余的数据读出来会保存住,因为下次读取它们的概率会比较大! 多核CPU下
  • Python如何一次读取N行

    千次阅读 2020-12-09 02:21:10
    我正在编写一个代码,一次取一个巨大的文本文件(几...我一直在阅读有关使用itertools islice进行此操作的信息。 我想我那里:from itertools import isliceN = 16infile = open("my_very_large_text_file","r")li...
  • python逐行读取文件

    2022-05-29 17:34:15
    最近看迭代器与生成器,记录一点读取大文件的脚本: 读取的文件有1.16G # -*- coding: utf-8 -*- """ 读取一个大文件,简单统计有多少行记录 @Time : 2022/5/29 16:04 @Auth : Eve @File :read_big_data.py @...
  • 利用openpyxl模块读取excel文件

    千次阅读 2021-11-17 09:48:16
    背景:之前一直想做一个网络设备配置自动化备份的python程序,以前通过读取ini文件的文件实现了,但是ini文件编辑和更新太麻烦,一起想通过读取excel的方式来实现。老陆的帮忙下,完成了这一个模块。 需求:excel...
  • python读取txt文件中特定位置字符的方法如下所示:# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf8')fp = open("resources.txt", "r")sample = fp.readlines()file=open("test.txt", "w")...
  • shell当中read详解,read语法选项,read用法示例,脚本示例,while read line详解,掌握原则 1.1 shell read简介 要与Linux交互,脚本获取键盘输入的结果是必不可少的,read可以读取键盘输入的字符。 read [-rs] [-a ...
  • 二、for循环读取列表 list="a b c" for i in ${list[*]} do echo $i done 三、for循环条件判断 for ((i=0;i<3;i++)) do echo "hello world;" done 四、while 死循环 while true do echo "hello w
  • 我是熊猫的新手,我一直试图Python2.7中做一个散点图,.txt文件中有这样的数据集(逗号分隔)6.1101,17.5925.5277,9.13028.5186,13.6627.0032,11.8545.8598,6.82338.3829,11.8867.4764,4.3483import pandas as pd...
  • 我循环浏览一个文件,如果我发现了什么,想将控制权返回给主循环之前先读几行寻找内容.但是,我希望我停止向前看时返回控制权.示例代码:for line in file:line = line.strip()llist = line.split()if llist[0] == ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,869
精华内容 31,947
热门标签
关键字:

为什么line一直在读取