栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

IntelliJ IDEA多屏后窗口不显示问题解决方案

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IntelliJ IDEA多屏后窗口不显示问题解决方案

IDEA 在接入外接屏且扩展的情况下,如果突然拔掉外接屏,就可能会产生IDEA 整个窗口只在屏幕的右侧显示一点点边框且无法拖拽到当前屏幕的情况。

在不再次接入外接屏的情况下,想要把IDEA窗口拖拽回当前屏幕,可以找到项目中.idea 文件夹下的workspace.xml 文件
全文搜索ProjectframeBounds 关键字,修改x和y的值为0或者直接将name="x",name="y"的这两行删除即可,然后重启IDEA即可

因为经常遇到这种情况,所以自己写了个java 小工具,一键删除 name="x",name="y" 这两行记录,同时生成一个原始文件的.bak 文件,入参只需要文件路径

其中的核心代码逻辑示例如下:

(标签: 使用Java 实现删除某个文件中 包含特定字符的行)

import java.io.*;


public class DeleteLine {
  public static void main(String[] args) {
    String path = "C:\Users\jiashubing\Desktop\ttt\workspace.xml";
    deleteLine(path);
  }

  private static String deleteLine(String path) {
    int a = path.lastIndexOf('/');
    int b = path.lastIndexOf('\');
    if (a < 0 && b < 0) {
      return "没有目录分隔符";
    }

    //删除原来的备份文件
    String bakpath = path + ".bak";
    if (deleteFile(bakpath)) {
      return "删除原始的备份文件失败,备份文件为:" + bakpath;
    }

    String bakpath2 = path + ".bak2";
    if (deleteFile(bakpath2)) {
      return "删除原始的临时备份文件失败,备份文件为:" + bakpath2;
    }

    //创建临时备份文件
    File bakFile2 = new File(bakpath2);
    boolean nFlag = false;
    try {
      nFlag = bakFile2.createNewFile();
    } catch (IOException e) {
      return "创建临时备份文件失败,备份文件为:" + bakpath2 + " 错误信息为:" + e.getMessage();
    }
    if (!nFlag) {
      return "创建临时备份文件失败,备份文件为:" + bakpath2;
    }

    String ans = getAns(path);
    if (ans == null) {
      return "读取并修改原始文件失败";
    }

    if (!addNewFile(bakpath2, ans)) {
      return "将修改后的内容写入到新文件失败";
    }

    File oldFile = new File(path);
    boolean mvFlag = oldFile.renameTo(new File(bakpath));
    if (!mvFlag) {
      return "将原始文件重命名成备份文件失败";
    }

    boolean mvFlag2 = bakFile2.renameTo(new File(path));
    if (!mvFlag2) {
      return "将临时备份文件重命名成原始文件失败";
    }

    return "执行成功";
  }

  private static boolean deleteFile(String bakpath) {
    File bakFile = new File(bakpath);
    if (bakFile.exists() && bakFile.isFile()) {
      boolean delFlag = bakFile.delete();
      if (!delFlag) {
 return true;
      }
    }
    return false;
  }

  private static String getAns(String path) {
    File oldFile = new File(path);
    if (!oldFile.exists() || !oldFile.isFile()) {
      return null;
    }

    StringBuilder ans = new StringBuilder();
    String encoding = "UTF-8";
    try (InputStreamReader read = new InputStreamReader(
 new FileInputStream(oldFile), encoding);
BufferedReader bufferedReader = new BufferedReader(read)) {
      String lineTxt = null;
      while ((lineTxt = bufferedReader.readLine()) != null) {
 if (lineTxt.contains("name="x"") || lineTxt.contains("name="y"")) {
   continue;
 }
 ans.append(lineTxt + "n");
      }
    } catch (Exception e) {
      return null;
    }

    return ans.toString();
  }

  private static boolean addNewFile(String path, String ans) {
    File file = new File(path);

    try (Writer out = new FileWriter(file)) {
      out.write(ans);
    } catch (IOException e) {
      return false;
    }

    return true;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/131724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号